]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: sd: Don't call blk_cleanup_disk() in sd_probe()
authorChristoph Hellwig <hch@lst.de>
Mon, 23 May 2022 08:38:13 +0000 (10:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:44:53 +0000 (18:44 +0200)
[ Upstream commit 7274ce0558adb4b9b1f5c5b613fb4fe331c18911 ]

In SCSI the midlayer has ownership of the request_queue, so on probe
failure we must only put the gendisk, but leave the request_queue alone.

Link: https://lore.kernel.org/r/20220523083813.227935-1-hch@lst.de
Fixes: 03252259e18e ("scsi: sd: Clean up gendisk if device_add_disk() failed")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/sd.c

index dc6e55761fd1f07239e60cd6f65c03ae47376cde..5539d75dcfe7904013260de68d071786563cb144 100644 (file)
@@ -3475,7 +3475,7 @@ static int sd_probe(struct device *dev)
        error = device_add_disk(dev, gd, NULL);
        if (error) {
                put_device(&sdkp->disk_dev);
-               blk_cleanup_disk(gd);
+               put_disk(gd);
                goto out;
        }