Re: Regression in 2.6.30-rc1 since commit acae0515 - wireless broken

Alan Jenkins
2009-04-08T17:08:23Z

On 4/8/09, Larry Finger <Larry.Finger@lwfinger.net> wrote:
> Rusty Russell wrote:
>> On Wednesday 08 April 2009 14:41:06 Arjan van de Ven wrote:
>>> Larry Finger wrote:
>>>> The most recent pulls of the Linux-2.6 git tree has broken wireless. The
>>>> problem
>>>> was bisected with commit acae05156551fd7528fbb616271e672789388e3c,
>>>> entitled
>>>> "module: create a request_module_nowait()", indicated as the faulty
>>>> change. This
>>>> is seen with driver b43 on my system, and 2 reports for driver iwlagn:
>>>> http://marc.info/?l=linux-wireless&m=123916157630571&w=2 and
>>>> http://marc.info/?l=linux-wireless&m=123913015021457&w=2.
>>>>
>>>> For b43, the logged error messages are:
>>> rusty... I still suspect your "int to bool" conversion stuff ;-)
>>
>> One way to find out. Here's the reversion:
>>
>> diff --git a/include/linux/kmod.h b/include/linux/kmod.h
>> --- a/include/linux/kmod.h
>> +++ b/include/linux/kmod.h
>> @@ -29,12 +29,10 @@
>> #ifdef CONFIG_MODULES
>> /* modprobe exit status on success, -ve on error. Return value
>> * usually useless though. */
>> -extern int __request_module(bool wait, const char *name, ...) \
>
> The patch did not fix the problem. The symptoms are the same.
>
> Larry

Hi, I can confirm this bug on ath5k.

Something is very wrong with request_module(), this is just the most
obvious symptom. It also seems to affect libusual (loading
usb-storage) and FAT (loading NLS modules).

If I hotplug my wireless device, it then loads correctly. So I'm
guessing wireless modules e.g. encryption modules get loaded too
asynchronously. I.e. on boot, the sub-modules are loaded too late.
But when I hotplug the device, the modules are already loaded.

Same with FAT - it fails on first attempt to mount because of missing
NLS module, then works on second mount,

I agree that commit looks like it should be a no-op though :-).
I will try to confirm the OP's bisection by reverting the commit, acae0515.

Alan