Later freeing of netdev.
--- a/master/ethernet.c Wed Oct 28 14:01:23 2009 +0100
+++ b/master/ethernet.c Wed Oct 28 14:59:34 2009 +0100
@@ -185,7 +185,6 @@
void ec_eoe_clear(ec_eoe_t *eoe /**< EoE handler */)
{
unregister_netdev(eoe->dev); // possibly calls close callback
- free_netdev(eoe->dev);
// empty transmit queue
ec_eoe_flush(eoe);
@@ -195,7 +194,10 @@
kfree(eoe->tx_frame);
}
- if (eoe->rx_skb) dev_kfree_skb(eoe->rx_skb);
+ if (eoe->rx_skb)
+ dev_kfree_skb(eoe->rx_skb);
+
+ free_netdev(eoe->dev);
ec_datagram_clear(&eoe->datagram);
}