scsi: hisi_sas: fix HBA SAS addr endianness for v2 hw
authorJohn Garry <john.garry@huawei.com>
Tue, 6 Sep 2016 15:36:20 +0000 (23:36 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 14 Sep 2016 16:54:18 +0000 (12:54 -0400)
commitd82debecf29b4d89e2d17a52dc32c745ba97c999
tree718c651a519a14a0bea0d2318a8ed126aa209c66
parenta6f2c7fff90a6fe7a31e764a21b65a809fafa765
scsi: hisi_sas: fix HBA SAS addr endianness for v2 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:

[    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_v2_hw.c