diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2013-07-31 04:58:34 +0200 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-08-02 22:20:21 +0200 |
commit | 7562523e84ddc742fe1f9db8bd76b01acca89f6b (patch) | |
tree | 7424800571b47a62b72515f64bab44db4735c2fd /drivers | |
parent | [SCSI] fnic: BUG: sleeping function called from invalid context during probe (diff) | |
download | linux-7562523e84ddc742fe1f9db8bd76b01acca89f6b.tar.xz linux-7562523e84ddc742fe1f9db8bd76b01acca89f6b.zip |
[SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages is set
If a device has the skip_vpd_pages flag set we should simply fail the
scsi_get_vpd_page() call.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Stuart Foster <smf.linux@ntlworld.com>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/scsi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 3b1ea34e1f5a..eaa808e6ba91 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -1031,6 +1031,9 @@ int scsi_get_vpd_page(struct scsi_device *sdev, u8 page, unsigned char *buf, { int i, result; + if (sdev->skip_vpd_pages) + goto fail; + /* Ask for all the pages supported by this device */ result = scsi_vpd_inquiry(sdev, buf, 0, buf_len); if (result) |