Messages in this thread | | | From | "Marc Hartmayer" <> | Subject | Re: [PATCH] scsi/sg: fix checking return value of blk_get_queue() | Date | Fri, 07 Jul 2023 09:07:58 +0200 |
| |
On Wed, Jul 05, 2023 at 10:40 AM +0800, Yu Kuai <yukuai1@huaweicloud.com> wrote: > From: Yu Kuai <yukuai3@huawei.com> > > Commit fcaa174a9c99 ("scsi/sg: don't grab scsi host module reference") > make a mess how blk_get_queue() is called, blk_get_queue() returns true > on success while the caller expects it returns 0 on success. > > Fix this problem and also add a corresponding error message on failure. > > Fixes: fcaa174a9c99 ("scsi/sg: don't grab scsi host module reference") > Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com> > Closes: https://lore.kernel.org/all/87lefv622n.fsf@linux.ibm.com/ > Signed-off-by: Yu Kuai <yukuai3@huawei.com> > --- > drivers/scsi/sg.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c > index 89fa046c7158..0d8afffd1683 100644 > --- a/drivers/scsi/sg.c > +++ b/drivers/scsi/sg.c > @@ -1497,9 +1497,10 @@ sg_add_device(struct device *cl_dev) > int error; > unsigned long iflags; > > - error = blk_get_queue(scsidp->request_queue); > - if (error) > - return error; > + if (!blk_get_queue(scsidp->request_queue)) { > + pr_warn("%s: get scsi_device queue failed\n", __func__); > + return -ENODEV; > + } > > error = -ENOMEM; > cdev = cdev_alloc(); > -- > 2.39.2
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
| |