s390/qeth: unregister netdevice only when registered
authorJulian Wiedmann <jwi@linux.ibm.com>
Fri, 2 Nov 2018 18:04:10 +0000 (19:04 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Nov 2018 15:13:03 +0000 (16:13 +0100)
commit99b9de47a8b64d534582d26c80f4220e6189df60
tree02a20d75b7d46bd8735aba1be5bbbeb15bab5d9c
parentd005b563ae0cef9712077ba4407d771c75bd4194
s390/qeth: unregister netdevice only when registered

[ Upstream commit 30356d08159d7899438e94503ae322a8b881e205 ]

qeth only registers its netdevice when the qeth device is first set
online. Thus a device that has never been set online will trigger
a WARN ("network todo 'hsi%d' but state 0") in unregister_netdev() when
removed.

Fix this by protecting the unregister step, just like we already protect
against repeated registering of the netdevice.

Fixes: d3d1b205e89f ("s390/qeth: allocate netdevice early")
Reported-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/s390/net/qeth_core.h
drivers/s390/net/qeth_l2_main.c
drivers/s390/net/qeth_l3_main.c