diff options
Diffstat (limited to 'drivers/net/xen-netback/netback.c')
| -rw-r--r-- | drivers/net/xen-netback/netback.c | 18 | 
1 files changed, 4 insertions, 14 deletions
| diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index edbae0b1e8f0..3d0c989384b5 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -2359,24 +2359,14 @@ static bool xenvif_ctrl_work_todo(struct xenvif *vif)  	return 0;  } -int xenvif_ctrl_kthread(void *data) +irqreturn_t xenvif_ctrl_irq_fn(int irq, void *data)  {  	struct xenvif *vif = data; -	for (;;) { -		wait_event_interruptible(vif->ctrl_wq, -					 xenvif_ctrl_work_todo(vif) || -					 kthread_should_stop()); -		if (kthread_should_stop()) -			break; - -		while (xenvif_ctrl_work_todo(vif)) -			xenvif_ctrl_action(vif); +	while (xenvif_ctrl_work_todo(vif)) +		xenvif_ctrl_action(vif); -		cond_resched(); -	} - -	return 0; +	return IRQ_HANDLED;  }  static int __init netback_init(void) | 
