On Wednesday, July 07, 2010 5:09 PM, Prarit Bhargava wrote: > > WARNING: drivers/scsi/mpt2sas/mpt2sas.o(.text+0xe3d4): Section mismatch > in reference from the function _scsih_pci_error_detected() to the > function .devexit.text:_scsih_remove() > The function _scsih_pci_error_detected() references a function in an > exit section. > Often the function _scsih_remove() has valid usage outside the exit > section > and the fix is to remove the __devexit annotation of _scsih_remove. > > by removing __devexit from _scsih_remove() > > Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> > > diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c > b/drivers/scsi/mpt2sas/mpt2sas_scsih.c > index c5ff26a..c630aa7 100644 > --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c > +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c > @@ -6290,7 +6290,7 @@ _scsih_shutdown(struct pci_dev *pdev) > * Routine called when unloading the driver. > * Return nothing. > */ > -static void __devexit > +static void > _scsih_remove(struct pci_dev *pdev) > { > struct Scsi_Host *shost = pci_get_drvdata(pdev); > @@ -6798,7 +6798,7 @@ static struct pci_driver scsih_driver = { > .name = MPT2SAS_DRIVER_NAME, > .id_table = scsih_pci_table, > .probe = _scsih_probe, > - .remove = __devexit_p(_scsih_remove), > + .remove = _scsih_remove, > .shutdown = _scsih_shutdown, > .err_handler = &_scsih_err_handler, > #ifdef CONFIG_PM NACK. This is not required after the patch I just posted. The fix is we shouldn't be calling _scsih_remove from _scsih_pci_error_detected. Eric Moore -- 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