• Chas Williams's avatar
    net/xen-netfront: only napi_synchronize() if running · 9373e7b4
    Chas Williams authored
    commit 274b0455 upstream.
    
    If an interface isn't running napi_synchronize() will hang forever.
    
    [  392.248403] rmmod           R  running task        0   359    343 0x00000000
    [  392.257671]  ffff88003760fc88 ffff880037193b40 ffff880037193160 ffff88003760fc88
    [  392.267644]  ffff880037610000 ffff88003760fcd8 0000000100014c22 ffffffff81f75c40
    [  392.277524]  0000000000bc7010 ffff88003760fca8 ffffffff81796927 ffffffff81f75c40
    [  392.287323] Call Trace:
    [  392.291599]  [<ffffffff81796927>] schedule+0x37/0x90
    [  392.298553]  [<ffffffff8179985b>] schedule_timeout+0x14b/0x280
    [  392.306421]  [<ffffffff810f91b9>] ? irq_free_descs+0x69/0x80
    [  392.314006]  [<ffffffff811084d0>] ? internal_add_timer+0xb0/0xb0
    [  392.322125]  [<ffffffff81109d07>] msleep+0x37/0x50
    [  392.329037]  [<ffffffffa00ec79a>] xennet_disconnect_backend.isra.24+0xda/0x390 [xen_netfront]
    [  392.339658]  [<ffffffffa00ecadc>] xennet_remove+0x2c/0x80 [xen_netfront]
    [  392.348516]  [<ffffffff81481c69>] xenbus_dev_remove+0x59/0xc0
    [  392.356257]  [<ffffffff814e7217>] __device_release_driver+0x87/0x120
    [  392.364645]  [<ffffffff814e7cf8>] driver_detach+0xb8/0xc0
    [  392.371989]  [<ffffffff814e6e69>] bus_remove_driver+0x59/0xe0
    [  392.379883]  [<ffffffff814e84f0>] driver_unregister+0x30/0x70
    [  392.387495]  [<ffffffff814814b2>] xenbus_unregister_driver+0x12/0x20
    [  392.395908]  [<ffffffffa00ed89b>] netif_exit+0x10/0x775 [xen_netfront]
    [  392.404877]  [<ffffffff81124e08>] SyS_delete_module+0x1d8/0x230
    [  392.412804]  [<ffffffff8179a8ee>] system_call_fastpath+0x12/0x71
    Signed-off-by: default avatarChas Williams <3chas3@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Cc: "Kamata, Munehisa" <kamatam@amazon.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    9373e7b4
xen-netfront.c 53.2 KB