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)
I found the solution to this problem. There's a patch out from www.spinics. net/lists/ stable/ msg16448. html :
http://
diff --git a/drivers/ scsi/scsi. c b/drivers/ scsi/scsi. c scsi/scsi. c scsi/scsi. c vpd_page( struct scsi_device *sdev, u8 page, unsigned char *buf,
index 3b1ea34..eaa808e 100644
--- a/drivers/
+++ b/drivers/
@@ -1031,6 +1031,9 @@ int scsi_get_
{
int i, result;
+ if (sdev-> skip_vpd_ pages) inquiry( sdev, buf, 0, buf_len);
+ goto fail;
+
/* Ask for all the pages supported by this device */
result = scsi_vpd_
if (result)
Hopefully it gets out to Ubuntu's kernels soon.