Commit 7d0e11fb authored by Jeremy Higdon 's avatar Jeremy Higdon Committed by James Bottomley
Browse files

[SCSI] qla1280.c - fix result for device Busy and Queue Full



I discovered that the qla1280 driver does not send the correct status
to the midlayer when it gets Queue Full or Busy from a device.

Signed-off-by: default avatarJeremy Higdon <jeremy@sgi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent d335cc38
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -4038,11 +4038,10 @@ qla1280_status_entry(struct scsi_qla_host *ha, struct response *pkt,
			scsi_status, handle);
	}

	/* Target busy */
	if (scsi_status & SS_BUSY_CONDITION &&
	    scsi_status != SS_RESERVE_CONFLICT) {
		CMD_RESULT(cmd) =
			DID_BUS_BUSY << 16 | (scsi_status & 0xff);
	/* Target busy or queue full */
	if ((scsi_status & 0xFF) == SAM_STAT_TASK_SET_FULL ||
	    (scsi_status & 0xFF) == SAM_STAT_BUSY) {
		CMD_RESULT(cmd) = scsi_status & 0xff;
	} else {

		/* Save ISP completion status */