s390: fix Oops when unloading module netiucv
Subsystems (5)
PATCH 4/5 s390: fix Oops when unloading module netiucv
From: Ursula Braun <[email protected]>
don't remove an entry from iucv_connection_list in netiucv_exit(). netiucv_free_netdevice is called anyway, which takes care of entry removal.
Signed-off-by Ursula Braun <[email protected]>
Signed-off-by Frank Pavlic <[email protected]>
---netiucv.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
drivers/s390/net/netiucv.c +3 -2
@@ -1862,12 +1862,14 @@ static void netiucv_remove_connection(struct iucv_connection *conn)write_lock_bh (&iucv_connection_rwlock);list_del_init (&conn->list);write_unlock_bh (&iucv_connection_rwlock); +fsm_deltimer (&conn->timer); +netiucv_purge_skb_queue (&conn->collect_queue);if (conn->path) {iucv_path_sever (conn->path, iucvMagic);kfree (conn->path); conn->path =NULL ; } -fsm_deltimer (&conn->timer); +netiucv_purge_skb_queue (&conn->commit_queue);kfree_fsm (conn->fsm);kfree_skb (conn->rx_buff);kfree_skb (conn->tx_buff);
@@ -2115,7 +2117,6 @@ static void __exit netiucv_exit(void)while (!list_empty (&iucv_connection_list)) { cp =list_entry (iucv_connection_list.next, struct iucv_connection, list); -list_del (&cp->list); ndev = cp->netdev; priv =netdev_priv (ndev); dev = priv->dev;
Signature · 1 line
1.5.1.2