Re: [PATCH 2/2] usb: storage: scsiglue: Do not skip VPD if try_vpd_pages is set

From: Alan Stern
Date: Tue Jun 18 2019 - 09:53:05 EST


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