diff options
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
-rw-r--r-- | drivers/net/xen-netback/interface.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c index 2e07f8433412..12f9e2708afb 100644 --- a/drivers/net/xen-netback/interface.c +++ b/drivers/net/xen-netback/interface.c | |||
@@ -577,6 +577,7 @@ int xenvif_connect(struct xenvif_queue *queue, unsigned long tx_ring_ref, | |||
577 | goto err_rx_unbind; | 577 | goto err_rx_unbind; |
578 | } | 578 | } |
579 | queue->task = task; | 579 | queue->task = task; |
580 | get_task_struct(task); | ||
580 | 581 | ||
581 | task = kthread_create(xenvif_dealloc_kthread, | 582 | task = kthread_create(xenvif_dealloc_kthread, |
582 | (void *)queue, "%s-dealloc", queue->name); | 583 | (void *)queue, "%s-dealloc", queue->name); |
@@ -633,6 +634,7 @@ void xenvif_disconnect(struct xenvif *vif) | |||
633 | 634 | ||
634 | if (queue->task) { | 635 | if (queue->task) { |
635 | kthread_stop(queue->task); | 636 | kthread_stop(queue->task); |
637 | put_task_struct(queue->task); | ||
636 | queue->task = NULL; | 638 | queue->task = NULL; |
637 | } | 639 | } |
638 | 640 | ||