[SCSI] mpt2sas: mpt2sas_base_get_sense_buffer_dma should be returning little endian
cpu_to_le64 when calculating the physical dma address. This will properly handle endianess on big endian systems. The return value of this function was changed from dma_addr_t to __le64. Remove the typecasting of u32 when setting the SenseBufferLowAddress, since its already in __le32 format. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: Eric Moore <Eric.moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:

committed by
James Bottomley

parent
e4e7c7ed34
commit
ec9472c74c
@@ -1328,12 +1328,13 @@ mpt2sas_base_get_sense_buffer(struct MPT2SAS_ADAPTER *ioc, u16 smid)
|
||||
* @ioc: per adapter object
|
||||
* @smid: system request message index
|
||||
*
|
||||
* Returns phys pointer to sense buffer.
|
||||
* Returns phys pointer to the low 32bit address of the sense buffer.
|
||||
*/
|
||||
dma_addr_t
|
||||
__le32
|
||||
mpt2sas_base_get_sense_buffer_dma(struct MPT2SAS_ADAPTER *ioc, u16 smid)
|
||||
{
|
||||
return ioc->sense_dma + ((smid - 1) * SCSI_SENSE_BUFFERSIZE);
|
||||
return cpu_to_le32(ioc->sense_dma +
|
||||
((smid - 1) * SCSI_SENSE_BUFFERSIZE));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user