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@linux-mips.org>
> To: Brent Casavant <bcasavan@sgi.com>
> To: Andrew Morton <akpm@linux-foundation.org>
> Cc: Tejun Heo <tj@kernel.org>
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-mips@linux-mips.org
> ---
> 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@sgi.com>
--
Brent Casavant
Silicon Graphics International
|