[SCSI] libsas, aic94xx: fix dma mapping cockups with ATA
This one was noticed by Gilbert Wu of Adaptec: The libata core actually does the DMA mapping for you, so there has to be an exception in the device drivers that *don't* do dma mapping for ATA commands. However, since we've already done this, libsas must now dma map any ATA commands that it wishes to issue ... and yes, this is a horrible mess. Additionally, the test in aic94xx for ATA protocols isn't quite right. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
committed by
James Bottomley
parent
3a2755af37
commit
0f05df8b3b
@ -23,6 +23,12 @@ enum sas_protocol {
|
||||
SAS_PROTOCOL_SSP = 0x08,
|
||||
};
|
||||
|
||||
static inline int sas_protocol_ata(enum sas_protocol proto)
|
||||
{
|
||||
return ((proto & SAS_PROTOCOL_SATA) ||
|
||||
(proto & SAS_PROTOCOL_STP))? 1 : 0;
|
||||
}
|
||||
|
||||
enum sas_linkrate {
|
||||
/* These Values are defined in the SAS standard */
|
||||
SAS_LINK_RATE_UNKNOWN = 0,
|
||||
|
Reference in New Issue
Block a user