summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch')
-rw-r--r--kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch b/kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch
new file mode 100644
index 000000000..0415b8a1e
--- /dev/null
+++ b/kernels/linux-libre-rt/3.10.6-reset-superseed-xhci-hcd.patch
@@ -0,0 +1,24 @@
+[PATCH] 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
+
+diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
+index 3b1ea34..eaa808e 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)