Bug 500214

Summary: Kernel hang in rt61pci
Product: Red Hat Enterprise Linux 5 Reporter: Terry Griffin <griffint>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED NEXTRELEASE QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: ajb, dzickus
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-11 17:14:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Strace of 'ifdown wlan0' showing hang in ioctl() call. none

Description Terry Griffin 2009-05-11 17:26:06 UTC
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.

Comment 1 Terry Griffin 2009-05-11 17:28:31 UTC
Created attachment 343483 [details]
Strace of 'ifdown wlan0' showing hang in ioctl() call.

Comment 3 John W. Linville 2009-05-15 13:16:16 UTC
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?

Comment 4 John W. Linville 2009-05-15 23:55:58 UTC
Please try these instead:

   http://people.redhat.com/linville/kernels/rhel5/

Comment 5 Terry Griffin 2009-05-16 02:44:05 UTC
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.

Comment 6 John W. Linville 2009-05-18 17:23:32 UTC
That sounds like an initrd problem.  You might try installing the rpm again, or running mkinitrd manually...?

Comment 7 Terry Griffin 2009-05-19 04:02:51 UTC
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.

Comment 8 John W. Linville 2009-06-11 13:42:28 UTC
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?

Comment 9 Terry Griffin 2009-06-11 16:33:16 UTC
Ahh, much better. Kernel jwltest.88 boots and I'm able to take the wireless interface up and down repeatedly without hanging the kernel.

Comment 10 John W. Linville 2009-06-11 17:14:00 UTC
Cool...5.4 should fix things for you... :-)