aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Moore <eric.moore@lsil.com>2006-07-11 19:23:23 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-07-13 09:18:22 -0400
commitd58b2725d28041ff9412fecb109bebf76b1a9b26 (patch)
treeb0eafa2d64aeda3eab7111ab0730ce847529f875
parent786899b013cdf7aeb2aaaf7390c442f02bba24af (diff)
[SCSI] mptfusion: mptctl panic when loading
Fix panic for when mptctl is loading at the same time when one of the fusion llds (mptsas/mptfc/mptspi) is loading. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/message/fusion/mptbase.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 43308df64623..10def27c1af5 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -678,19 +678,19 @@ int
678mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, int cb_idx) 678mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, int cb_idx)
679{ 679{
680 MPT_ADAPTER *ioc; 680 MPT_ADAPTER *ioc;
681 const struct pci_device_id *id;
681 682
682 if (cb_idx < 1 || cb_idx >= MPT_MAX_PROTOCOL_DRIVERS) { 683 if (cb_idx < 1 || cb_idx >= MPT_MAX_PROTOCOL_DRIVERS)
683 return -EINVAL; 684 return -EINVAL;
684 }
685 685
686 MptDeviceDriverHandlers[cb_idx] = dd_cbfunc; 686 MptDeviceDriverHandlers[cb_idx] = dd_cbfunc;
687 687
688 /* call per pci device probe entry point */ 688 /* call per pci device probe entry point */
689 list_for_each_entry(ioc, &ioc_list, list) { 689 list_for_each_entry(ioc, &ioc_list, list) {
690 if(dd_cbfunc->probe) { 690 id = ioc->pcidev->driver ?
691 dd_cbfunc->probe(ioc->pcidev, 691 ioc->pcidev->driver->id_table : NULL;
692 ioc->pcidev->driver->id_table); 692 if (dd_cbfunc->probe)
693 } 693 dd_cbfunc->probe(ioc->pcidev, id);
694 } 694 }
695 695
696 return 0; 696 return 0;