If we encounter an error during VPD page scanning we should be setting the 'skip_vpd_pages' bit to avoid further accesses. Signed-off-by: Hannes Reinecke <hare@xxxxxxxx> --- drivers/scsi/scsi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 1deb6ad..0359864 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -796,6 +796,7 @@ retry_pg0: result = scsi_vpd_inquiry(sdev, vpd_buf, 0, vpd_len); if (result < 0) { kfree(vpd_buf); + sdev->skip_vpd_pages = 1; return; } if (result > vpd_len) { @@ -822,6 +823,7 @@ retry_pg80: result = scsi_vpd_inquiry(sdev, vpd_buf, 0x80, vpd_len); if (result < 0) { kfree(vpd_buf); + sdev->skip_vpd_pages = 1; return; } if (result > vpd_len) { @@ -851,6 +853,7 @@ retry_pg83: result = scsi_vpd_inquiry(sdev, vpd_buf, 0x83, vpd_len); if (result < 0) { kfree(vpd_buf); + sdev->skip_vpd_pages = 1; return; } if (result > vpd_len) { -- 1.8.5.6 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html