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....@gmail.com>
> ---
>  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 <st...@rowland.harvard.edu>

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

Reply via email to