diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-18 09:50:38 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:24:09 -0400 |
commit | ffb7fef32b98fff773a5a6882ae4f8aee65a7708 (patch) | |
tree | 24d23adcebfdb89a9691b19d0967457c7ebb28b0 /drivers/message | |
parent | 48959f1eae3068fefb3de05cdc0c2bd8f0f96c37 (diff) |
[SCSI] mptfusion: Proper bus_type check is added
Added proper bus_type check before processing event/ reset handler.
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/mptfc.c | 5 | ||||
-rw-r--r-- | drivers/message/fusion/mptsas.c | 3 | ||||
-rw-r--r-- | drivers/message/fusion/mptspi.c | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index 33f7256055b1..8b3ff2d43fb3 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c | |||
@@ -1358,6 +1358,9 @@ mptfc_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
1358 | unsigned long flags; | 1358 | unsigned long flags; |
1359 | int rc=1; | 1359 | int rc=1; |
1360 | 1360 | ||
1361 | if (ioc->bus_type != FC) | ||
1362 | return 0; | ||
1363 | |||
1361 | devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n", | 1364 | devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n", |
1362 | ioc->name, event)); | 1365 | ioc->name, event)); |
1363 | 1366 | ||
@@ -1396,7 +1399,7 @@ mptfc_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
1396 | unsigned long flags; | 1399 | unsigned long flags; |
1397 | 1400 | ||
1398 | rc = mptscsih_ioc_reset(ioc,reset_phase); | 1401 | rc = mptscsih_ioc_reset(ioc,reset_phase); |
1399 | if (rc == 0) | 1402 | if ((ioc->bus_type != FC) || (!rc)) |
1400 | return rc; | 1403 | return rc; |
1401 | 1404 | ||
1402 | 1405 | ||
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 674461fb6a3e..7f217445cd93 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
@@ -4779,6 +4779,9 @@ mptsas_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *reply) | |||
4779 | struct fw_event_work *fw_event; | 4779 | struct fw_event_work *fw_event; |
4780 | unsigned long delay; | 4780 | unsigned long delay; |
4781 | 4781 | ||
4782 | if (ioc->bus_type != SAS) | ||
4783 | return 0; | ||
4784 | |||
4782 | /* events turned off due to host reset or driver unloading */ | 4785 | /* events turned off due to host reset or driver unloading */ |
4783 | if (ioc->fw_events_off) | 4786 | if (ioc->fw_events_off) |
4784 | return 0; | 4787 | return 0; |
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index e44365193fdf..8820591a693b 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c | |||
@@ -1152,6 +1152,9 @@ mptspi_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
1152 | u8 event = le32_to_cpu(pEvReply->Event) & 0xFF; | 1152 | u8 event = le32_to_cpu(pEvReply->Event) & 0xFF; |
1153 | struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh); | 1153 | struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh); |
1154 | 1154 | ||
1155 | if (ioc->bus_type != SPI) | ||
1156 | return 0; | ||
1157 | |||
1155 | if (hd && event == MPI_EVENT_INTEGRATED_RAID) { | 1158 | if (hd && event == MPI_EVENT_INTEGRATED_RAID) { |
1156 | int reason | 1159 | int reason |
1157 | = (le32_to_cpu(pEvReply->Data[0]) & 0x00FF0000) >> 16; | 1160 | = (le32_to_cpu(pEvReply->Data[0]) & 0x00FF0000) >> 16; |
@@ -1283,6 +1286,8 @@ mptspi_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
1283 | int rc; | 1286 | int rc; |
1284 | 1287 | ||
1285 | rc = mptscsih_ioc_reset(ioc, reset_phase); | 1288 | rc = mptscsih_ioc_reset(ioc, reset_phase); |
1289 | if ((ioc->bus_type != SPI) || (!rc)) | ||
1290 | return rc; | ||
1286 | 1291 | ||
1287 | /* only try to do a renegotiation if we're properly set up | 1292 | /* only try to do a renegotiation if we're properly set up |
1288 | * if we get an ioc fault on bringup, ioc->sh will be NULL */ | 1293 | * if we get an ioc fault on bringup, ioc->sh will be NULL */ |