]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.14.75/qeth-delete-napi-struct-when-removing-a-qeth-device.patch
4.14-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.14.75 / qeth-delete-napi-struct-when-removing-a-qeth-device.patch
CommitLineData
0510f465
GKH
1From 7831b4ff0d926e0deeaabef9db8800ed069a2757 Mon Sep 17 00:00:00 2001
2From: Ursula Braun <ubraun@linux.vnet.ibm.com>
3Date: Mon, 4 Jul 2016 14:07:16 +0200
4Subject: qeth: delete napi struct when removing a qeth device
5
6From: Ursula Braun <ubraun@linux.vnet.ibm.com>
7
8commit 7831b4ff0d926e0deeaabef9db8800ed069a2757 upstream.
9
10A qeth_card contains a napi_struct linked to the net_device during
11device probing. This struct must be deleted when removing the qeth
12device, otherwise Panic on oops can occur when qeth devices are
13repeatedly removed and added.
14
15Fixes: a1c3ed4c9ca ("qeth: NAPI support for l2 and l3 discipline")
16Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
17Tested-by: Alexander Klein <ALKL@de.ibm.com>
18Signed-off-by: David S. Miller <davem@davemloft.net>
19Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20
21---
22 drivers/s390/net/qeth_l2_main.c | 1 +
23 drivers/s390/net/qeth_l3_main.c | 1 +
24 2 files changed, 2 insertions(+)
25
26--- a/drivers/s390/net/qeth_l2_main.c
27+++ b/drivers/s390/net/qeth_l2_main.c
28@@ -906,6 +906,7 @@ static void qeth_l2_remove_device(struct
29 qeth_l2_set_offline(cgdev);
30
31 if (card->dev) {
32+ netif_napi_del(&card->napi);
33 unregister_netdev(card->dev);
34 card->dev = NULL;
35 }
36--- a/drivers/s390/net/qeth_l3_main.c
37+++ b/drivers/s390/net/qeth_l3_main.c
38@@ -3333,6 +3333,7 @@ static void qeth_l3_remove_device(struct
39 qeth_l3_set_offline(cgdev);
40
41 if (card->dev) {
42+ netif_napi_del(&card->napi);
43 unregister_netdev(card->dev);
44 card->dev = NULL;
45 }