[rt2x00-users] rt2800pci: hang on module unload (SoC) and possible fix
Gertjan van Wingerde
gwingerde at gmail.com
Mon Apr 26 21:36:48 UTC 2010
On 04/26/10 22:12, Helmut Schaa wrote:
> Am Montag 26 April 2010 schrieb Gertjan van Wingerde:
>> On 04/25/10 21:08, Gertjan van Wingerde wrote:
>>> On 04/25/10 20:55, Helmut Schaa wrote:
>>>> Am Sonntag 25 April 2010 schrieb Gertjan van Wingerde:
>>>>> Sorry, I only just found this in my inbox.
>>>> No worries, that's alright ;)
>>>>> It looks like my rt2800pci based PCI devices suffer from the same issue.
>>>>> However, your patch doesn't seem to help. On my system it simply speeds up
>>>>> the hang.
>>>> Hmm, ok, that's bad :(
>>>> It did help on the SoC device. I can put the interface up and down as I like
>>>> when using this patch. The hang does happen immediately when writing the
>>>> WPDMA_RST_IDX register the first time (when the first tx queue is getting
>>> I can't find out when exactly it hangs right now. I'm testing on an EEE PC with
>>> a RT3090 mini-PCIe adapter. I'm running an up-to-date Fedora 12 on it, using the
>>> latest compat-wireless (with the latest rt2x00 patches applied).
>>> Before the patch whenever I unloaded the module it took a few seconds before the
>>> whole system hung, now it is immediately when unloading the module.
>>> And it indeed is a complete machine hang.
>> OK. More news on this. In the same EEE PC with a RT2872 identified mini-PCIe adapter
>> the hang doesn't happen. However, I haven't successfully connected this device to a
>> network yet, so it may be that something else is preventing the device getting in the
>> right state for the hang.
> The SoC device only hangs when "something" was transmitted. If I just take the
> interface up and down everything works fine. As soon as I run a scan after ifup
> (and frames are really sent out) the hang happens on ifdown.
Yeah, turns out I forgot to enable this NIC in my AP's ACL. So, now I can unload even
after having successfully connected the NIC.
So, I've got one card showing the behaviour you describe and one that doesn't.
More information about the users