Bug 14731

Summary: rt61pci regression
Product: Drivers Reporter: tim blechmann (tim)
Component: network-wirelessAssignee: drivers_network-wireless (drivers_network-wireless)
Status: CLOSED DUPLICATE    
Severity: high CC: chiwihouse, gwingerde, linville, rjw
Priority: P1    
Hardware: All   
OS: Linux   
URL: http://thread.gmane.org/gmane.linux.kernel.wireless.general/41390
Kernel Version: 2.6.32 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 14230    

Description tim blechmann 2009-12-04 09:33:03 UTC
i am not able to use the rt61pci module with kernel 2.6.32 any more. with 2.6.31, it was working (although i regularly got messages like "phy0 -> rt61pci_txdone: Warning - TX status report missed for entry %d").

with 32-rc5 i get the message:
[ 2112.943630] phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full
queue 2.
[...]
[ 2827.646318] phy0 -> rt61pci_wait_bbp_ready: Error - BBP register access failed, aborting.
[ 2827.646323] phy0 -> rt61pci_set_device_state: Error - Device failed to enter state 4 (-5).

unloading the module throws a stack trace:
[ 2873.143407] BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
[ 2873.143413] IP: [<ffffffffa01e7290>] rt2x00pci_free_queue_dma+0x20/0xd0 [rt2x00pci]
[ 2873.143421] PGD 2dec1a067 PUD 26c1bc067 PMD 0 
[ 2873.143426] Oops: 0000 [#1] PREEMPT SMP 
[ 2873.143429] last sysfs file: /sys/devices/platform/coretemp.3/temp1_input
[ 2873.143433] CPU 0 
[ 2873.143434] Modules linked in: binfmt_misc ppdev nvidia(P) ipt_REJECT ipt_LOG xt_limit xt_tcpudp
xt_state ipt_addrtype snd_hda_codec_realtek ip6table_filter ip6_tables nf_nat_irc coretemp arc4
snd_hda_intel nf_conntrack_irc snd_hda_codec snd_hdsp nf_nat_ftp nf_nat nf_conntrack_ipv4
nf_defrag_ipv4 snd_pcm_oss rt61pci(-) crc_itu_t snd_mixer_oss nf_conntrack_ftp lp snd_pcm
nf_conntrack rt2x00pci snd_hwdep parport iptable_filter rt2x00lib snd_seq_dummy snd_seq_oss
snd_seq_midi ip_tables x_tables led_class snd_rawmidi snd_seq_midi_event snd_seq mac80211
snd_timer snd_seq_device cfg80211 eeprom_93cx6 snd psmouse pcmcia soundcore snd_page_alloc
serio_raw yenta_socket rsrc_nonstatic pcmcia_core xfs exportfs usbhid r8169 mii floppy
[ 2873.143487] Pid: 4677, comm: rmmod Tainted: P           2.6.32-rc5 #35 System Product Name
[ 2873.143490] RIP: 0010:[<ffffffffa01e7290>]  [<ffffffffa01e7290>]
rt2x00pci_free_queue_dma+0x20/0xd0 [rt2x00pci]
[ 2873.143496] RSP: 0018:ffff880305e53cf8  EFLAGS: 00010282
[ 2873.143499] RAX: 0000000000000000 RBX: ffff8803312e51e0 RCX: 0000000000000000
[ 2873.143501] RDX: 0000000000000150 RSI: ffff880331290c00 RDI: ffff8803312e51e0
[ 2873.143504] RBP: ffff880305e53d38 R08: 0000000000000000 R09: 0000000000000000
[ 2873.143506] R10: 0000000000000001 R11: 0000000000000000 R12: ffff880331290c38
[ 2873.143508] R13: ffff8803312e4340 R14: ffff8803312e51e0 R15: 0000000000000001
[ 2873.143511] FS:  00007f4e38e146f0(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
[ 2873.143514] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 2873.143517] CR2: 0000000000000020 CR3: 00000002b2e66000 CR4: 00000000000006b0
[ 2873.143519] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 2873.143522] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 2873.143525] Process rmmod (pid: 4677, threadinfo ffff880305e52000, task ffff880305f50000)
[ 2873.143527] Stack:
[ 2873.143528]  ffff8803312e51e0 0000000000000001 ffff880305e53d38 ffff8803312e51e0
[ 2873.143532] <0> ffff880331290c38 ffff8803312e4340 ffff8803312e51e0 0000000000000001
[ 2873.143537] <0> ffff880305e53d58 ffffffffa01e7378 ffff8803312e51e0 ffff880333afc080
[ 2873.143542] Call Trace:
[ 2873.143548]  [<ffffffffa01e7378>] rt2x00pci_uninitialize+0x38/0x70 [rt2x00pci]
[ 2873.143554]  [<ffffffffa01c8062>] rt2x00lib_uninitialize+0x32/0x60 [rt2x00lib]
[ 2873.143560]  [<ffffffffa01c886d>] rt2x00lib_remove_dev+0x2d/0xc0 [rt2x00lib]
[ 2873.143565]  [<ffffffffa01e718c>] rt2x00pci_remove+0x3c/0x120 [rt2x00pci]
[ 2873.143572]  [<ffffffff81298fbf>] pci_device_remove+0x2f/0x60
[ 2873.143578]  [<ffffffff8132eec3>] __device_release_driver+0x53/0xb0
[ 2873.143582]  [<ffffffff8132efe0>] driver_detach+0xc0/0xd0
[ 2873.143587]  [<ffffffff8132df44>] bus_remove_driver+0x94/0xc0
[ 2873.143591]  [<ffffffff8132f5a9>] driver_unregister+0x59/0x90
[ 2873.143595]  [<ffffffff8129925f>] pci_unregister_driver+0x3f/0xb0
[ 2873.143601]  [<ffffffffa024f290>] rt61pci_exit+0x10/0x12 [rt61pci]
[ 2873.143608]  [<ffffffff810923f3>] sys_delete_module+0x183/0x250
[ 2873.143613]  [<ffffffff8107dbe9>] ? up_read+0x9/0x10
[ 2873.143618]  [<ffffffff815351df>] ? do_page_fault+0x13f/0x3f0
[ 2873.143624]  [<ffffffff81011f02>] system_call_fastpath+0x16/0x1b
[ 2873.143627] Code: b8 ea ff ff ff eb b3 0f 1f 40 00 55 48 89 e5 48 83 ec 40 48 89 5d d8 4c 89 65 e0 4c 89 6d e8 4c 89 75 f0 4c
89 7d f8 48 8b 46 08 <48> 8b 58 20 48 8b 13 48 85 d2 74 4c 4c 8b 27 48 8b 4b 08 44 0f 
[ 2873.143663] RIP  [<ffffffffa01e7290>] rt2x00pci_free_queue_dma+0x20/0xd0 [rt2x00pci]
[ 2873.143669]  RSP <ffff880305e53cf8>
[ 2873.143670] CR2: 0000000000000020
[ 2873.143673] ---[ end trace af6b473a456cf4f3 ]---


a bootlog with more debugging info can be found in the posing to the linux-wireless list:
http://article.gmane.org/gmane.linux.kernel.wireless.general/42006

trying to bisect the faulty commit failed, since it seemed to be shadowed by another faulty commit (causing an instable wifi connection).

it would be nice, with insights in the rt2x00 driver and the rt61pci hardware could have a closer look at this
Comment 1 Melcar 2009-12-07 01:41:17 UTC
I can confirm a similar issue here.  My card is an Airlink101 AWL3026T that uses the rt61pci module.  In my case I can connect with my AP and even browse my local network, but any form of internet access is impossible.  The module also has a tendency of failing after a while and only by reloading it can I get any form of functionality from it.  Module works fine with the 2.6.31 kernel.
Comment 2 Gertjan van Wingerde 2009-12-09 22:47:42 UTC
Can both of you test what happens if you disable power saving?

Just do iwconfig wlanX power off on the correct interface.

I've seen multiple reports of rt61pci misbehaving on powersaving.
Comment 3 Melcar 2009-12-10 02:36:17 UTC
That seems to work as far as I can tell at the moment.  Local and internet access are fast again, the errors in my system log are gone, and I haven't lost connection.  If the problem comes up again I will report, but so far turning off power saving seems to work.
Comment 4 Rafael J. Wysocki 2009-12-29 22:13:06 UTC

*** This bug has been marked as a duplicate of bug 14896 ***