scsi: bsg: Fix errno when scsi_bsg_register_queue() fails
authorJackie Liu <liuyun01@kylinos.cn>
Fri, 22 Oct 2021 01:02:01 +0000 (09:02 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 4 Nov 2021 01:30:16 +0000 (21:30 -0400)
When the value of error is printed, it will always be 0. We should print
the correct error code when scsi_bsg_register_queue() fails.

Link: https://lore.kernel.org/r/20211022010201.426746-1-liu.yun@linux.dev
Fixes: ead09dd3aed5 ("scsi: bsg: Simplify device registration")
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_sysfs.c

index fa064bf9a55cdc94ca122d0716f27c296fcdf6d8..f06639d21e111c8437c523fe5f7bf3aa84cbdcb7 100644 (file)
@@ -1374,6 +1374,7 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
                         * We're treating error on bsg register as non-fatal, so
                         * pretend nothing went wrong.
                         */
+                       error = PTR_ERR(sdev->bsg_dev);
                        sdev_printk(KERN_INFO, sdev,
                                    "Failed to register bsg queue, errno=%d\n",
                                    error);