Re: [3.7.0 regression] rt2x00lib_probe_dev: Error - Failed toinitialize hw

From: Gertjan van Wingerde
Date: Mon Dec 17 2012 - 08:21:10 EST


Mikael, Devendra,

On Mon, Dec 17, 2012 at 1:59 PM, devendra.aaru <devendra.aaru@xxxxxxxxx> wrote:
> On Mon, Dec 17, 2012 at 7:22 AM, Mikael Pettersson <mikpe@xxxxxxxx> wrote:
>> devendra.aaru writes:
>> > On Mon, Dec 17, 2012 at 5:51 AM, Mikael Pettersson <mikpe@xxxxxxxx> wrote:
>> > > I just updated an old 1st gen AMD64 laptop from kernel 3.6.0 to 3.7.0,
>> > > Fedora 15 user-space, and was greeted by the following kernel warning:
>> > >
>> > > WARNING: at net/wireless/core.c:389 wiphy_register+0x5c3/0x600 [cfg80211]()
>> >
>> > I am seeing this line actually when i do vim +389 net/wireless/core.c.
>> >
>> > u16 all_iftypes = 0;
>> >
>> > its good if you tell us the top sha1 of yours?
>>
>> It's the plain linux-3.7.tar.xz from kernel.org, no git involved.
>> Lines 389-390 of net/wireless/core.c are:
>>
>> if (WARN_ON(c->max_interfaces < 2))
>> return -EINVAL;
>>
>
> so its v3.7 tag hash 29594404d7fe73cd80eaa4ee8c43dcc53970c60e.
>
> i see that code line :). thanks
>
> i traced a while and looked at the rt2500pci.c code and there we are
> assigning the max_ap_intf variable to 1. the same go with the
> rt2800pci.c
>
> here's the part of the ops structure
>
> static const struct rt2x00_ops rt2500pci_ops = {
> .name = KBUILD_MODNAME,
> .max_ap_intf = 1,
> .eeprom_size = EEPROM_SIZE,
> .rf_size = RF_SIZE,
> .tx_queues = NUM_TX_QUEUES,
> .extra_tx_headroom = 0,
> .rx = &rt2500pci_queue_rx,
> .tx = &rt2500pci_queue_tx,
> .bcn = &rt2500pci_queue_bcn,
> .atim = &rt2500pci_queue_atim,
> .lib = &rt2500pci_rt2x00_ops,
> .hw = &rt2500pci_mac80211_ops,
> #ifdef CONFIG_RT2X00_LIB_DEBUGFS
> .debugfs = &rt2500pci_rt2x00debug,
> #endif /* CONFIG_RT2X00_LIB_DEBUGFS */
> };
>
> i really dont know why is that max_ap_intf is 1. may be some wireless
> dev's know about this?
>
>
>> /Mikael

This is caused by the introduction of interface combinations. Helmut
Schaa has already submitted a patch to fix this, but this has
unfortunately not ended up in 3.7. I'm confident it will end up in one
of the upcoming 3.7.x stable releases.

See http://marc.info/?l=linux-wireless&m=135478723823922&w=2 for the
patch submitted by Helmut.
---
Gertjan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/