Use blkdev_get_by_dev instead of bdget_disk + blkdev_get.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 drivers/s390/block/dasd_genhd.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c
index af5b0ecb8f8923..a9698fba9b76ce 100644
--- a/drivers/s390/block/dasd_genhd.c
+++ b/drivers/s390/block/dasd_genhd.c
@@ -101,18 +101,11 @@ int dasd_scan_partitions(struct dasd_block *block)
        struct block_device *bdev;
        int rc;
 
-       bdev = bdget_disk(block->gdp, 0);
-       if (!bdev) {
-               DBF_DEV_EVENT(DBF_ERR, block->base, "%s",
-                             "scan partitions error, bdget returned NULL");
-               return -ENODEV;
-       }
-
-       rc = blkdev_get(bdev, FMODE_READ, NULL);
-       if (rc < 0) {
+       bdev = blkdev_get_by_dev(disk_devt(block->gdp), FMODE_READ, NULL);
+       if (IS_ERR(bdev)) {
                DBF_DEV_EVENT(DBF_ERR, block->base,
-                             "scan partitions error, blkdev_get returned %d",
-                             rc);
+                             "scan partitions error, blkdev_get returned %ld",
+                             PTR_ERR(bdev));
                return -ENODEV;
        }
 
-- 
2.28.0

Reply via email to