On Mon, 17 Jun 2019, Marcos Paulo de Souza wrote: > If BLIST_TRY_VPD_PAGES is set for a device, even for an USB, it should > be honored, so only set skip_vpd_pages is try_vpd_pages is not set. > > Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@xxxxxxxxx> > --- > drivers/usb/storage/scsiglue.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c > index 59190d88fa9f..0a9520780771 100644 > --- a/drivers/usb/storage/scsiglue.c > +++ b/drivers/usb/storage/scsiglue.c > @@ -195,8 +195,11 @@ static int slave_configure(struct scsi_device *sdev) > */ > sdev->skip_ms_page_8 = 1; > > - /* Some devices don't handle VPD pages correctly */ > - sdev->skip_vpd_pages = 1; > + /* > + * Some devices don't handle VPD pages correctly, so skip vpd > + * pages if not forced by SCSI layer. > + */ > + sdev->skip_vpd_pages = sdev->try_vpd_pages == 0; > > /* Do not attempt to use REPORT SUPPORTED OPERATION CODES */ > sdev->no_report_opcodes = 1; Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Although I think it would be clearer to write: sdev->skip_vpd_pages = !sdev->try_vpd_pages; But that's just personal preference. This is okay as it is. Alan Stern