On Fri, 2008-01-11 at 14:46 +0530, Prakash, Sathya wrote: > This patch fixes a panic at mptctl_probe -> mutex_init if the mptsas and mptcl module are loaded in parallel, this is because IOC is NULL, the fix is in mpt_device_register to call probe only with non-zero IOC pointer. > > signed-off-by: Sathya Prakash <sathya.prakash@xxxxxxx> > --- > > diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c > index d733438..042bc86 100644 > --- a/drivers/message/fusion/mptbase.c > +++ b/drivers/message/fusion/mptbase.c > @@ -729,6 +729,8 @@ mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, u8 cb_idx) > > /* call per pci device probe entry point */ > list_for_each_entry(ioc, &ioc_list, list) { > + if (!pci_get_drvdata(ioc->pcidev)) > + continue; This looks rather dubious ... it doesn't fix the race, it just manifests differently (and non fatally) by apparently not attaching the mptctl. Isn't a better fix to set the drvdata earlier in the process, say in mpt_attach *before* you add the ioc to the ioc_list? That way the race can never occur in the first place. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html