On Jul 11, 2012, at 4:02 AM, Heiko Carstens wrote: > Fix this warning: > > WARNING: drivers/scsi/fcoe/libfcoe.o(.init.text+0x7c): > Section mismatch in reference from the function init_module() > to the function .exit.text:fcoe_transport_exit() As far as I can see, resolving this issue only requires removing the __exit annotation from the fcoe_transport_exit function, as three previous patches have done. I believe that is the correct fix and I have verified that by building with full section analysis turned on. > libfcoe_init() calls fcoe_transport_exit() which is annotated with > __exit which puts it into the exit section. > If the driver would be compiled into the kernel the exit section > could be discarded at compile time, so all calls to functions which > reside in the exit section would be jumps to random data. > > Not really an issue currently since the exit section is currently > only discarded at runtime together with the init section. So this > patch only removes the compile time warning. > > Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > --- > drivers/scsi/fcoe/fcoe_sysfs.c | 2 +- > drivers/scsi/fcoe/fcoe_transport.c | 4 ++-- > include/scsi/fcoe_sysfs.h | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/scsi/fcoe/fcoe_sysfs.c b/drivers/scsi/fcoe/fcoe_sysfs.c > index 2bc1631..7d6c119 100644 > --- a/drivers/scsi/fcoe/fcoe_sysfs.c > +++ b/drivers/scsi/fcoe/fcoe_sysfs.c > @@ -826,7 +826,7 @@ int __init fcoe_sysfs_setup(void) > return 0; > } > > -void __exit fcoe_sysfs_teardown(void) > +void fcoe_sysfs_teardown(void) > { > bus_unregister(&fcoe_bus_type); > } > diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c > index b46f43d..ea87f6b 100644 > --- a/drivers/scsi/fcoe/fcoe_transport.c > +++ b/drivers/scsi/fcoe/fcoe_transport.c > @@ -502,7 +502,7 @@ static int __init fcoe_transport_init(void) > return 0; > } > > -static int __exit fcoe_transport_exit(void) > +static int fcoe_transport_exit(void) > { > struct fcoe_transport *ft; > > @@ -832,7 +832,7 @@ module_init(libfcoe_init); > /** > * libfcoe_exit() - Tear down libfcoe.ko > */ > -static void __exit libfcoe_exit(void) > +static void libfcoe_exit(void) > { > fcoe_sysfs_teardown(); > fcoe_transport_exit(); > diff --git a/include/scsi/fcoe_sysfs.h b/include/scsi/fcoe_sysfs.h > index 604cb9b..8e7a41a 100644 > --- a/include/scsi/fcoe_sysfs.h > +++ b/include/scsi/fcoe_sysfs.h > @@ -119,6 +119,6 @@ struct fcoe_fcf_device *fcoe_fcf_device_add(struct fcoe_ctlr_device *, > void fcoe_fcf_device_delete(struct fcoe_fcf_device *); > > int __init fcoe_sysfs_setup(void); > -void __exit fcoe_sysfs_teardown(void); > +void fcoe_sysfs_teardown(void); > > #endif /* FCOE_SYSFS */ So, please use the earlier patch and not this one. -- Mark Rustad, LAN Access Division, Intel Corporation -- 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