scsi: hisi_sas: fix HBA SAS addr endianness for v1 hw
authorJohn Garry <john.garry@huawei.com>
Tue, 6 Sep 2016 15:36:21 +0000 (23:36 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 14 Sep 2016 16:54:18 +0000 (12:54 -0400)
commit44c4abe08f224817747795fb8d0677888166e4cd
tree73b5dc7dc69982586483747df5db29f1714ede4d
parentd82debecf29b4d89e2d17a52dc32c745ba97c999
scsi: hisi_sas: fix HBA SAS addr endianness for v1 hw

The endianness for the SAS address in the TX_ID_DWORD registers is set
incorrectly.  We see errors like this in the boot log for v2 hw (which
would have the same issue as v1 hw):

[    7.583284] sas: target proto 0x0 at 50000d1108e7923f:0x1f not handled

This is due to the host SAS addr not matching the PHY SAS addr in the
expander host-attached phy discovery responses.

To fix, we byte swap the SAS addr from BE to LE (which is the endianness
of the SAS controller).

Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c