summaryrefslogtreecommitdiffstats
path: root/drivers/message
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2009-09-02 11:44:19 +0530
committerJames Bottomley <James.Bottomley@suse.de>2009-09-12 09:35:26 -0500
commitf44fd18198eb26b62ba86b17016e9441ce95fc71 (patch)
tree4a151e59860a13032d8d481e23d1da4127d6d808 /drivers/message
parent9e39089b958818c8f3d772414cd27f84fb2622f2 (diff)
downloadlinux-f44fd18198eb26b62ba86b17016e9441ce95fc71.tar.gz
linux-f44fd18198eb26b62ba86b17016e9441ce95fc71.tar.bz2
linux-f44fd18198eb26b62ba86b17016e9441ce95fc71.zip
[SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off
On Big endian system kernel will crash due to address translation is not handle properly. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptsas.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index f744f0fc9491..02a18dfcd52a 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -3314,6 +3314,7 @@ mptsas_send_expander_event(struct fw_event_work *fw_event)
expander_data = (MpiEventDataSasExpanderStatusChange_t *)
fw_event->event_data;
memcpy(&sas_address, &expander_data->SASAddress, sizeof(__le64));
+ sas_address = le64_to_cpu(sas_address);
port_info = mptsas_find_portinfo_by_sas_address(ioc, sas_address);
if (expander_data->ReasonCode == MPI_EVENT_SAS_EXP_RC_ADDED) {