• L
    rtlwifi: Fix oops on unload · 44eb65cf
    Larry Finger 提交于
    Under some circumstances, a PCI-based driver reports the following OOPs:
    
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Oops: 0000 [#1] SMP
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Pid: 19627, comm: rmmod
    Not tainted 3.2.9-2.fc16.x86_64 #1 LENOVO 05962RU/05962RU
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP:
    0010:[<ffffffffa0418d39>]  [<ffffffffa0418d39>]
    rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Process rmmod (pid:
    19627, threadinfo ffff880050262000, task ffff8801156d5cc0)
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Stack:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000002
    ffff8801176c2540 ffff880050263ca8 ffffffffa03348e7
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000282
    0000000180150014 ffff880050263fd8 ffff8801176c2810
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  ffff880050263bc8
    ffffffff810550e2 00000000000002c0 ffff8801176c0d40
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Call Trace:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  [<ffffffffa03348e7>]
    _rtl_pci_rx_interrupt+0x187/0x650 [rtlwifi]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Code: ff 09 d0 89 07 48
    83 c4 08 5b 5d c3 66 0f 1f 44 00 00 55 48 89 e5 53 48 83 ec 08 66 66
    66 66 90 40 84 f6 89 d3 74 13 84 d2 75 57 <8b> 07 48 83 c4 08 5b 5d c1
    e8 1f c3 0f 1f 00 84 d2 74 ed 80 fa
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP
    [<ffffffffa0418d39>] rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  RSP <ffff880050263b58>
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] CR2: 00000000000006e0
    Mar 19 08:14:35 kvothe kernel: [ 6584.646491] ---[ end trace
    8636c766dcfbe0e6 ]---
    
    This oops is due to interrupts not being disabled in this particular path.
    Reported-by: NDave Airlie <airlied@gmail.com>
    Tested-by: NDave Airlie <airlied@gmail.com>
    Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
    Cc: Stable <stable@vger.kernel.org>
    Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
    44eb65cf
pci.c 53.2 KB