Commit f87146bb authored by Hannes Reinecke's avatar Hannes Reinecke Committed by James Bottomley

[SCSI] sd: quiet spurious error messages in READ_CAPACITY(16)

sd always tries to submit a READ_CAPACITY(16) CDB,
regardless whether the host actually supports it.
queuecommand() will then return DID_ABORT, which is
not qualified enough to detect the true cause here.
So better check in sd_try_rc16 first if the cdblen
is supported.
Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 457549da
...@@ -1573,6 +1573,8 @@ static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp, ...@@ -1573,6 +1573,8 @@ static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp,
static int sd_try_rc16_first(struct scsi_device *sdp) static int sd_try_rc16_first(struct scsi_device *sdp)
{ {
if (sdp->host->max_cmd_len < 16)
return 0;
if (sdp->scsi_level > SCSI_SPC_2) if (sdp->scsi_level > SCSI_SPC_2)
return 1; return 1;
if (scsi_device_protection(sdp)) if (scsi_device_protection(sdp))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment