aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2009-09-02 02:14:19 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-09-12 10:35:26 -0400
commitf44fd18198eb26b62ba86b17016e9441ce95fc71 (patch)
tree4a151e59860a13032d8d481e23d1da4127d6d808
parent9e39089b958818c8f3d772414cd27f84fb2622f2 (diff)
[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>
-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)
3314 expander_data = (MpiEventDataSasExpanderStatusChange_t *) 3314 expander_data = (MpiEventDataSasExpanderStatusChange_t *)
3315 fw_event->event_data; 3315 fw_event->event_data;
3316 memcpy(&sas_address, &expander_data->SASAddress, sizeof(__le64)); 3316 memcpy(&sas_address, &expander_data->SASAddress, sizeof(__le64));
3317 sas_address = le64_to_cpu(sas_address);
3317 port_info = mptsas_find_portinfo_by_sas_address(ioc, sas_address); 3318 port_info = mptsas_find_portinfo_by_sas_address(ioc, sas_address);
3318 3319
3319 if (expander_data->ReasonCode == MPI_EVENT_SAS_EXP_RC_ADDED) { 3320 if (expander_data->ReasonCode == MPI_EVENT_SAS_EXP_RC_ADDED) {