diff options
author | Julian Wiedmann | 2017-04-11 16:11:12 +0200 |
---|---|---|
committer | David S. Miller | 2017-04-11 20:51:34 +0200 |
commit | 96d1bb53ec8b219abdee883c24799ba68ad4d460 (patch) | |
tree | cdfe9e2c3fb345f64c8fd0bf452feb499bb53276 /drivers/s390/net/qeth_core_main.c | |
parent | s390/qeth: move NAPI poll routine to core (diff) | |
download | kernel-qcow2-linux-96d1bb53ec8b219abdee883c24799ba68ad4d460.tar.gz kernel-qcow2-linux-96d1bb53ec8b219abdee883c24799ba68ad4d460.tar.xz kernel-qcow2-linux-96d1bb53ec8b219abdee883c24799ba68ad4d460.zip |
s390/qeth: move gdev shutdown handler to core
Duplicated code.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Acked-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_core_main.c')
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index b9063eb17436..cf5493e525e8 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -5749,8 +5749,12 @@ static int qeth_core_set_offline(struct ccwgroup_device *gdev) static void qeth_core_shutdown(struct ccwgroup_device *gdev) { struct qeth_card *card = dev_get_drvdata(&gdev->dev); - if (card->discipline && card->discipline->shutdown) - card->discipline->shutdown(gdev); + qeth_set_allowed_threads(card, 0, 1); + if ((gdev->state == CCWGROUP_ONLINE) && card->info.hwtrap) + qeth_hw_trap(card, QETH_DIAGS_TRAP_DISARM); + qeth_qdio_clear_card(card, 0); + qeth_clear_qdio_buffers(card); + qdio_free(CARD_DDEV(card)); } static int qeth_core_prepare(struct ccwgroup_device *gdev) |