rt73 crashes with preempt kernel

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4989


11-09-2008 17:41:32

My rt73 module started to crash sometimes after I recompiled the kernel with realtime support (preempt kernel).

Here is the log
[quote2b27d91n]rt73 driver version - CVS
rt73 using net dev supplied MAC addr
rt73 Active MAC addr 001b1122fe87
rt73 Local MAC = 001b1122fe87
rt73 closed
rt73 driver version - CVS
rt73 using net dev supplied MAC addr
rt73 Active MAC addr 001b1122fe87
rt73 Local MAC = 001b1122fe87
wlan0 no IPv6 routers present
BUG unable to handle kernel NULL pointer dereference at virtual address 00000064
printing eip f9788665 *pde = 00000000
Oops 0000 [#1] PREEMPT SMP
Modules linked in snd_rtctimer it87 hwmon_vid lm90 hwmon snd_seq_midi snd_pcm_oss snd_mixer_oss snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq vboxdrv snd_ice1712 snd_ice17xx_ak4xxx snd_ak4xxx_adda snd_cs8427 snd_ac97_codec ac97_bus snd_i2c snd_hda_intel snd_mpu401_uart snd_pcm nvidia(P) snd_rawmidi snd_seq_device snd_timer snd_page_alloc snd_hwdep snd rt73 i2c_nforce2 soundcore i2c_core

Pid 2336, comm wlan0-Mlme Tainted P M (2.6.24-gentoo-r8 #4)
EIP 0060[<f9788665>] EFLAGS 00010202 CPU 0
EIP is at MakeOutgoingFrame+0x3f/0x53 [rt73]
EAX f1de1ed8 EBX 00000020 ECX 00000002 EDX 00000002
ESI 00000064 EDI c0c26820 EBP c0c26800 ESP f1de1ea0
DS 007b ES 007b FS 00d8 GS 0000 SS 0068
Process wlan0-Mlme (pid 2336, ti=f1de0000 task=f7718550 task.ti=f1de0000)
Stack f1de1ed8 f1f80000 00000064 f1de1f86 f1f805d0 f978ca26 c0c26800 f1de1f90
00000018 f1de1f64 00000008 f1de1f7c 00000002 00000064 00000002 f1de1f9e
00000001 f97b0be0 00000001 f1f8abba 00000009 f1f8ab9a 00000001 f97aebc6
Call Trace
[<f978ca26>] PeerProbeReqAction+0x295/0x3e7 [rt73]
[<f97939de>] RTUSBRxPacket+0xe42/0xe5f [rt73]
[<f9783cc3>] StateMachinePerformAction+0x19/0x1c [rt73]
[<f9787f99>] MlmeHandler+0xc8/0x114 [rt73]
[<f9783407>] MlmeThread+0x55/0x84 [rt73]
[<f97833b2>] MlmeThread+0x0/0x84 [rt73]
[<c0105b03>] kernel_thread_helper+0x7/0x10
Code 8b 34 24 8d 46 04 89 04 24 8b 16 83 fa ff 74 21 8d 46 08 89 d1 89 04 24 c1 e9 02 8d 7c 1d 00 8b 76 04 f3 a5 89 d1 83 e1 03 74 02 <f3> a4 01 d3 eb cf 8b 44 24 1c 89 18 89 d8 5a 5b 5e 5f 5d c3 55
EIP [<f9788665>] MakeOutgoingFrame+0x3f/0x53 [rt73] SSESP 0068f1de1ea0
---[ end trace 2a1e98871db048c0 ]---[/quote2b27d91n]

Linux gentux 2.6.24-gentoo-r8 #4 SMP PREEMPT Wed Aug 13 140443 BRT 2008 i686 Intel(R) Pentium(R) D CPU 2.80GHz GenuineIntel GNU/Linux

It's not a custumized or patched kernel, is the default system kernel configured with "Preemptible Kernel (Low-Lentecy Desktop)" and some other timing/clock changes.

Is there any way to fix without changing my kernel?
Because I need the preempt kernel for realtime audio editing with jack,rosegarden,etc..


26-09-2008 07:56:14

You seem to have the same problem that I recently encountered.

See my thread 'Legacy RT73 Oops bug (with patch!)' for a fix.

Or just edit 'sync.c', line 1140, change

2, BeaconPeriod,
2, &BeaconPeriod,

Then recompile and reinstall.