• Gavin Shan's avatar
    net/cxgb4: Avoid disabling PCI device for towice · 144be3d9
    Gavin Shan authored
    If we have EEH error happens to the adapter and we have to remove
    it from the system for some reasons (e.g. more than 5 EEH errors
    detected from the device in last hour), the adapter will be disabled
    for towice separately by eeh_err_detected() and remove_one(), which
    will incur following unexpected backtrace. The patch tries to avoid
    it.
    
    WARNING: at drivers/pci/pci.c:1431
    CPU: 12 PID: 121 Comm: eehd Not tainted 3.13.0-rc7+ #1
    task: c0000001823a3780 ti: c00000018240c000 task.ti: c00000018240c000
    NIP: c0000000003c1e40 LR: c0000000003c1e3c CTR: 0000000001764c5c
    REGS: c00000018240f470 TRAP: 0700   Not tainted  (3.13.0-rc7+)
    MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI>  CR: 28000024  XER: 00000004
    CFAR: c000000000706528 SOFTE: 1
    GPR00: c0000000003c1e3c c00000018240f6f0 c0000000010fe1f8 0000000000000035
    GPR04: 0000000000000000 0000000000000000 00000000003ae509 0000000000000000
    GPR08: 000000000000346f 0000000000000000 0000000000000000 0000000000003fef
    GPR12: 0000000028000022 c00000000ec93000 c0000000000c11b0 c000000184ac3e40
    GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    GPR24: 0000000000000000 c0000000009398d8 c00000000101f9c0 c0000001860ae000
    GPR28: c000000182ba0000 00000000000001f0 c0000001860ae6f8 c0000001860ae000
    NIP [c0000000003c1e40] .pci_disable_device+0xd0/0xf0
    LR [c0000000003c1e3c] .pci_disable_device+0xcc/0xf0
    Call Trace:
    [c0000000003c1e3c] .pci_disable_device+0xcc/0xf0 (unreliable)
    [d0000000073881c4] .remove_one+0x174/0x320 [cxgb4]
    [c0000000003c57e0] .pci_device_remove+0x60/0x100
    [c00000000046396c] .__device_release_driver+0x9c/0x120
    [c000000000463a20] .device_release_driver+0x30/0x60
    [c0000000003bcdb4] .pci_stop_bus_device+0x94/0xd0
    [c0000000003bcf48] .pci_stop_and_remove_bus_device+0x18/0x30
    [c00000000003f548] .pcibios_remove_pci_devices+0xa8/0x140
    [c000000000035c00] .eeh_handle_normal_event+0xa0/0x3c0
    [c000000000035f50] .eeh_handle_event+0x30/0x2b0
    [c0000000000362c4] .eeh_event_handler+0xf4/0x1b0
    [c0000000000c12b8] .kthread+0x108/0x130
    [c00000000000a168] .ret_from_kernel_thread+0x5c/0x74
    Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    144be3d9
cxgb4_main.c 161 KB