|
@@ -2421,10 +2421,8 @@ static void hso_free_net_device(struct hso_device *hso_dev)
|
|
|
|
|
|
remove_net_device(hso_net->parent);
|
|
|
|
|
|
- if (hso_net->net) {
|
|
|
+ if (hso_net->net)
|
|
|
unregister_netdev(hso_net->net);
|
|
|
- free_netdev(hso_net->net);
|
|
|
- }
|
|
|
|
|
|
/* start freeing */
|
|
|
for (i = 0; i < MUX_BULK_RX_BUF_COUNT; i++) {
|
|
@@ -2436,6 +2434,9 @@ static void hso_free_net_device(struct hso_device *hso_dev)
|
|
|
kfree(hso_net->mux_bulk_tx_buf);
|
|
|
hso_net->mux_bulk_tx_buf = NULL;
|
|
|
|
|
|
+ if (hso_net->net)
|
|
|
+ free_netdev(hso_net->net);
|
|
|
+
|
|
|
kfree(hso_dev);
|
|
|
}
|
|
|
|