Description of problem: The kernel hangs somewhere in the rt61pci driver stack during interface configuration. The calling user-space program (typically ifconfig) pegs the CPU and never returns suggesting the driver is blocked on a spin lock. Debugging with strace shows the hang to be inside an ioctl() system call. Version-Release number of selected component (if applicable): The problem was new in 2.6.18-128.1.6.el5 and is still present in 2.6.18-128.1.10.el5. The problem was not present in kernel-2.6.18-128.el5. How reproducible: 100% Steps to Reproduce: 1. On system with network card using the rt61pci driver. In my case lspci reports: 06:00.0 Network controller: RaLink RT2561/RT61 rev B 802.11g Subsystem: RaLink Unknown device 2561 Flags: bus master, slow devsel, latency 64, IRQ 11 Memory at 36000000 (32-bit, non-prefetchable) [size=32K] Capabilities: [40] Power Management version 2 2. Configure the wlan0 interface. In my case for a 802.11g WEP access point and DHCP. 3. Bring the interface up using 'ifup wlan0'. 4. Bring the interface down using 'ifdown wlan0' (or perform some other action on the wlan0 interface). Actual results: Kernel will hang in step #4. The calling user-space program will peg the CPU. Expected results: No hang, no pegging of CPU, operation completes and returns to user space. Additional info: strace output from 'ifdown wlan0' is attached.
Created attachment 343483 [details] Strace of 'ifdown wlan0' showing hang in ioctl() call.
On a hunch, could you try the test kernels here? https://bugzilla.redhat.com/show_bug.cgi?id=499999#c6 Do they solve the problem w/ rt61pci?
Please try these instead: http://people.redhat.com/linville/kernels/rhel5/
Reading #499999 it certainly looks like the same problem. Unfortunately I was unable to verify this with the test kernels. Both the bz499999test and jwltest.87 test kernels fail to boot on my machine. They hang right after the Red Hat nash start message.
That sounds like an initrd problem. You might try installing the rpm again, or running mkinitrd manually...?
No luck, but the post-nash hang was not quite what it seemed. I could see occasional blinks of the disk-activity light after the Red Hat nash start message so I decided to wait. Roughly five minutes later the boot process continued, but very slowly. It got as far as starting cpuspeed, but after that nothing. I let it sit for an hour then I gave up. This was with a fresh install of the jwltest.87 kernel and manually created initrd.
Whatever that was, I doubt if it was caused by any jwltest patches. :-) I have a jwltest.88 now, based on a later RHEL5 kernel. Perhaps you could give that a try?
Ahh, much better. Kernel jwltest.88 boots and I'm able to take the wireless interface up and down repeatedly without hanging the kernel.
Cool...5.4 should fix things for you... :-)