iwlegacy: mark il_adjust_beacon_interval as noinline

Kalle Valo kvalo at codeaurora.org
Fri Dec 11 03:50:37 PST 2015

> With the new optimized do_div() code, some versions of gcc
> produce obviously incorrect code that leads to a link error
> in iwlegacy/common.o:
> drivers/built-in.o: In function `il_send_rxon_timing':
> :(.text+0xa6b4d4): undefined reference to `____ilog2_NaN'
> :(.text+0xa6b4f0): undefined reference to `__aeabi_uldivmod'
> In a few thousand randconfig builds, I have seen this problem
> a couple of times in this file, but never anywhere else in the
> kernel, so we can try to work around this in the only file
> that shows the behavior, by marking the il_adjust_beacon_interval
> function as noinline, which convinces gcc to use the unoptimized
> do_div() all the time.
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> Acked-by: Nicolas Pitre <nico at linaro.org>
> Acked-by: Stanislaw Gruszka <sgruszka at redhat.com>

Thanks, applied to wireless-drivers-next.git.

Kalle Valo

More information about the linux-arm-kernel mailing list