On Mon, 27 Jun 2011, Ralf Baechle wrote: > WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules() > The variable ioc4_load_modules_work references > the function __devinit ioc4_load_modules() > If the reference is valid then annotate the > variable with __init* or __refdata (see linux/init.h) or name the variable: > *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console > > This one is potencially fatal; by the time ioc4_load_modules is invoked > it may already have been freed. For that reason ioc4_load_modules_work > can't be turned to __devinitdata but also because it's referenced in > ioc4_exit. > > Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > To: Brent Casavant <bcasavan@xxxxxxx> > To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: linux-mips@xxxxxxxxxxxxxx > --- > drivers/misc/ioc4.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/misc/ioc4.c b/drivers/misc/ioc4.c > index 668d41e..df03dd3 100644 > --- a/drivers/misc/ioc4.c > +++ b/drivers/misc/ioc4.c > @@ -270,7 +270,7 @@ ioc4_variant(struct ioc4_driver_data *idd) > return IOC4_VARIANT_PCI_RT; > } > > -static void __devinit > +static void > ioc4_load_modules(struct work_struct *work) > { > request_module("sgiioc4"); > -- > 1.7.4.4 > Acked-by: Brent Casavant <bcasavan@xxxxxxx> -- Brent Casavant Silicon Graphics International