diff options
author | Hannes Reinecke <hare@suse.de> | 2015-04-24 13:18:32 +0200 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-05-26 07:54:47 +0200 |
commit | 37f6460867ef3a40d5385a924780ffdd2a6b750a (patch) | |
tree | 034b13e219e01311a0d6d19bdd16cd341ce79ae1 /drivers/scsi/advansys.c | |
parent | advansys: cleanup function return codes (diff) | |
download | linux-37f6460867ef3a40d5385a924780ffdd2a6b750a.tar.xz linux-37f6460867ef3a40d5385a924780ffdd2a6b750a.zip |
advansys: scsi_q1->data_addr is little endian
The 'data_addr' field is accessed by the board, and needs
to be kept in little endian format.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/advansys.c')
-rw-r--r-- | drivers/scsi/advansys.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index f79702412010..c3950b5ce344 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -8230,8 +8230,8 @@ AscPutReadySgListQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar q_no) sg_head = scsiq->sg_head; saved_data_addr = scsiq->q1.data_addr; saved_data_cnt = scsiq->q1.data_cnt; - scsiq->q1.data_addr = sg_head->sg_list[0].addr; - scsiq->q1.data_cnt = sg_head->sg_list[0].bytes; + scsiq->q1.data_addr = cpu_to_le32(sg_head->sg_list[0].addr); + scsiq->q1.data_cnt = cpu_to_le32(sg_head->sg_list[0].bytes); #if CC_VERY_LONG_SG_LIST /* * If sg_head->entry_cnt is greater than ASC_MAX_SG_LIST @@ -8467,8 +8467,8 @@ static int AscExeScsiQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq) } #endif /* !CC_VERY_LONG_SG_LIST */ if (sg_entry_cnt == 1) { - scsiq->q1.data_addr = sg_head->sg_list[0].addr; - scsiq->q1.data_cnt = sg_head->sg_list[0].bytes; + scsiq->q1.data_addr = cpu_to_le32(sg_head->sg_list[0].addr); + scsiq->q1.data_cnt = cpu_to_le32(sg_head->sg_list[0].bytes); scsiq->q1.cntl &= ~(QC_SG_HEAD | QC_SG_SWAP_QUEUE); } sg_entry_cnt_minus_one = sg_entry_cnt - 1; |