diff options
Diffstat (limited to 'drivers/s390/net/netiucv.c')
-rw-r--r-- | drivers/s390/net/netiucv.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c index e10e85e85c84..c358764f3264 100644 --- a/drivers/s390/net/netiucv.c +++ b/drivers/s390/net/netiucv.c | |||
@@ -1862,12 +1862,14 @@ static void netiucv_remove_connection(struct iucv_connection *conn) | |||
1862 | write_lock_bh(&iucv_connection_rwlock); | 1862 | write_lock_bh(&iucv_connection_rwlock); |
1863 | list_del_init(&conn->list); | 1863 | list_del_init(&conn->list); |
1864 | write_unlock_bh(&iucv_connection_rwlock); | 1864 | write_unlock_bh(&iucv_connection_rwlock); |
1865 | fsm_deltimer(&conn->timer); | ||
1866 | netiucv_purge_skb_queue(&conn->collect_queue); | ||
1865 | if (conn->path) { | 1867 | if (conn->path) { |
1866 | iucv_path_sever(conn->path, iucvMagic); | 1868 | iucv_path_sever(conn->path, iucvMagic); |
1867 | kfree(conn->path); | 1869 | kfree(conn->path); |
1868 | conn->path = NULL; | 1870 | conn->path = NULL; |
1869 | } | 1871 | } |
1870 | fsm_deltimer(&conn->timer); | 1872 | netiucv_purge_skb_queue(&conn->commit_queue); |
1871 | kfree_fsm(conn->fsm); | 1873 | kfree_fsm(conn->fsm); |
1872 | kfree_skb(conn->rx_buff); | 1874 | kfree_skb(conn->rx_buff); |
1873 | kfree_skb(conn->tx_buff); | 1875 | kfree_skb(conn->tx_buff); |
@@ -2115,7 +2117,6 @@ static void __exit netiucv_exit(void) | |||
2115 | while (!list_empty(&iucv_connection_list)) { | 2117 | while (!list_empty(&iucv_connection_list)) { |
2116 | cp = list_entry(iucv_connection_list.next, | 2118 | cp = list_entry(iucv_connection_list.next, |
2117 | struct iucv_connection, list); | 2119 | struct iucv_connection, list); |
2118 | list_del(&cp->list); | ||
2119 | ndev = cp->netdev; | 2120 | ndev = cp->netdev; |
2120 | priv = netdev_priv(ndev); | 2121 | priv = netdev_priv(ndev); |
2121 | dev = priv->dev; | 2122 | dev = priv->dev; |