diff options
Diffstat (limited to 'drivers/usb/storage/scsiglue.c')
| -rw-r--r-- | drivers/usb/storage/scsiglue.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index c267f2812a04..e227bb5b794f 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -376,6 +376,15 @@ static int queuecommand_lck(struct scsi_cmnd *srb,  		return 0;  	} +	if ((us->fflags & US_FL_NO_ATA_1X) && +			(srb->cmnd[0] == ATA_12 || srb->cmnd[0] == ATA_16)) { +		memcpy(srb->sense_buffer, usb_stor_sense_invalidCDB, +		       sizeof(usb_stor_sense_invalidCDB)); +		srb->result = SAM_STAT_CHECK_CONDITION; +		done(srb); +		return 0; +	} +  	/* enqueue the command and wake up the control thread */  	srb->scsi_done = done;  	us->srb = srb;  | 
