On Mon, 2017-01-30 at 13:23 -0500, Boris Ostrovsky wrote: > We do netif_carrier_off() first thing in xennet_disconnect_backend() and > the only place where the timer is rearmed is xennet_alloc_rx_buffers(), > which is guarded by netif_carrier_ok() check.
Oh well, testing netif_carrier_ok() in packet processing fast path looks unusual and a waste of cpu cycles. I've never seen that pattern before. If one day, we remove this netif_carrier_ok() test during a cleanup, then the race window will open again.