diff options
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
| -rw-r--r-- | drivers/net/xen-netback/interface.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c index 1a83e190fc15..28577a31549d 100644 --- a/drivers/net/xen-netback/interface.c +++ b/drivers/net/xen-netback/interface.c @@ -61,6 +61,12 @@ void xenvif_skb_zerocopy_prepare(struct xenvif_queue *queue,  void xenvif_skb_zerocopy_complete(struct xenvif_queue *queue)  {  	atomic_dec(&queue->inflight_packets); + +	/* Wake the dealloc thread _after_ decrementing inflight_packets so +	 * that if kthread_stop() has already been called, the dealloc thread +	 * does not wait forever with nothing to wake it. +	 */ +	wake_up(&queue->dealloc_wq);  }  int xenvif_schedulable(struct xenvif *vif) | 

