diff options
| author | Mark Lord <mlord@pobox.com> | 2005-11-13 16:22:06 -0500 | 
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-13 16:22:06 -0500 | 
| commit | dcc2d1e7f0acf7d3f7ae632a73cd5f828ef9de20 (patch) | |
| tree | f1c557e34750a76b0e6489c6a0638709d8ff48a7 /drivers/scsi | |
| parent | e12a1be6e8fa47ae6cdc4127a1b4640e19c288eb (diff) | |
[libata passthru] address slave devices correctly
Diffstat (limited to 'drivers/scsi')
| -rw-r--r-- | drivers/scsi/libata-scsi.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index 261be24e1df3..0df4b682965d 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c @@ -2276,6 +2276,12 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, const u8 *scsicmd)  		tf->device = scsicmd[8];  		tf->command = scsicmd[9];  	} +	/* +	 * If slave is possible, enforce correct master/slave bit +	*/ +	if (qc->ap->flags & ATA_FLAG_SLAVE_POSS) +		tf->device = qc->dev->devno ? +			tf->device | ATA_DEV1 : tf->device & ~ATA_DEV1;  	/*  	 * Filter SET_FEATURES - XFER MODE command -- otherwise, | 
