diff options
Diffstat (limited to 'drivers/message/fusion/mptscsih.c')
| -rw-r--r-- | drivers/message/fusion/mptscsih.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 57752751712..4a7d1afcb66 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -1438,9 +1438,14 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *))  	    && (vdevice->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES)  	    && (SCpnt->device->tagged_supported)) {  		scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ; -	} else { +		if (SCpnt->request && SCpnt->request->ioprio) { +			if (((SCpnt->request->ioprio & 0x7) == 1) || +				!(SCpnt->request->ioprio & 0x7)) +				scsictl |= MPI_SCSIIO_CONTROL_HEADOFQ; +		} +	} else  		scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED; -	} +  	/* Use the above information to set up the message frame  	 */ @@ -1796,7 +1801,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)  		dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: "  		   "Command not in the active list! (sc=%p)\n", ioc->name,  		   SCpnt)); -		retval = 0; +		retval = SUCCESS;  		goto out;  	}  |