• A
    atl2: don't request irq on resume if netif running · a849854f
    Alan Jenkins 提交于
    If the device is suspended with the cable disconnected, then
    resumed with the cable connected, dev->open is called before
    resume. During resume, we request an IRQ, but the IRQ was
    already assigned during dev->open, resulting in the warning
    shown below.
    
    Don't request an IRQ if the device is running.
    
    Call Trace:
     [<c011b89a>] warn_on_slowpath+0x40/0x59
     [<c023df15>] raw_pci_read+0x4d/0x55
     [<c023dff3>] pci_read+0x1c/0x21
     [<c01bcd81>] __pci_find_next_cap_ttl+0x44/0x70
     [<c01bce86>] __pci_find_next_cap+0x1a/0x1f
     [<c01bcef9>] pci_find_capability+0x28/0x2c
     [<c01c4144>] pci_msi_check_device+0x53/0x62
     [<c01c49c2>] pci_enable_msi+0x3a/0x1cd
     [<e019f17b>] atl2_write_phy_reg+0x40/0x5f [atl2]
     [<c01061b1>] dma_generic_alloc_coherent+0x0/0xd7
     [<e019f107>] atl2_request_irq+0x15/0x49 [atl2]
     [<e01a1481>] atl2_open+0x20b/0x297 [atl2]
     [<c024a35c>] dev_open+0x62/0x91
     [<c0248b9a>] dev_change_flags+0x93/0x141
     [<c024f308>] do_setlink+0x238/0x2d5
     [<c02501b2>] rtnl_setlink+0xa9/0xbf
     [<c0297f0c>] mutex_lock+0xb/0x19
     [<c024ffa7>] rtnl_dump_ifinfo+0x0/0x69
     [<c0250109>] rtnl_setlink+0x0/0xbf
     [<c024fe42>] rtnetlink_rcv_msg+0x185/0x19f
     [<c0240fd1>] sock_rmalloc+0x23/0x57
     [<c024fcbd>] rtnetlink_rcv_msg+0x0/0x19f
     [<c0259457>] netlink_rcv_skb+0x2d/0x71
     [<c024fcb7>] rtnetlink_rcv+0x14/0x1a
     [<c025929e>] netlink_unicast+0x184/0x1e4
     [<c025992a>] netlink_sendmsg+0x233/0x240
     [<c023f405>] sock_sendmsg+0xb7/0xd0
     [<c0129131>] autoremove_wake_function+0x0/0x2b
     [<c0129131>] autoremove_wake_function+0x0/0x2b
     [<c0147796>] mempool_alloc+0x2d/0x9e
     [<c020c923>] scsi_pool_alloc_command+0x35/0x4f
     [<c0297f0c>] mutex_lock+0xb/0x19
     [<c028e867>] unix_stream_recvmsg+0x357/0x3e2
     [<c01b81c9>] copy_from_user+0x23/0x4f
     [<c02452ea>] verify_iovec+0x3e/0x6c
     [<c023f5ab>] sys_sendmsg+0x18d/0x1f0
     [<c023ffa8>] sys_recvmsg+0x146/0x1c8
     [<c0240016>] sys_recvmsg+0x1b4/0x1c8
     [<c0118f48>] __wake_up+0xf/0x15
     [<c02586cd>] netlink_table_ungrab+0x17/0x19
     [<c01b83ba>] copy_to_user+0x25/0x3b
     [<c023fe4a>] move_addr_to_user+0x50/0x68
     [<c0240266>] sys_getsockname+0x6f/0x9a
     [<c0240280>] sys_getsockname+0x89/0x9a
     [<c015046a>] do_wp_page+0x3ae/0x41a
     [<c0151525>] handle_mm_fault+0x4c5/0x540
     [<c02405d0>] sys_socketcall+0x176/0x1b0
     [<c010376d>] sysenter_do_call+0x12/0x21
    Signed-off-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
    Signed-off-by: NJay Cliburn <jcliburn@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    a849854f
atl2.c 80.9 KB