equal
deleted
inserted
replaced
183 * Unregisteres the net_device and frees allocated memory. |
183 * Unregisteres the net_device and frees allocated memory. |
184 */ |
184 */ |
185 void ec_eoe_clear(ec_eoe_t *eoe /**< EoE handler */) |
185 void ec_eoe_clear(ec_eoe_t *eoe /**< EoE handler */) |
186 { |
186 { |
187 unregister_netdev(eoe->dev); // possibly calls close callback |
187 unregister_netdev(eoe->dev); // possibly calls close callback |
188 free_netdev(eoe->dev); |
|
189 |
188 |
190 // empty transmit queue |
189 // empty transmit queue |
191 ec_eoe_flush(eoe); |
190 ec_eoe_flush(eoe); |
192 |
191 |
193 if (eoe->tx_frame) { |
192 if (eoe->tx_frame) { |
194 dev_kfree_skb(eoe->tx_frame->skb); |
193 dev_kfree_skb(eoe->tx_frame->skb); |
195 kfree(eoe->tx_frame); |
194 kfree(eoe->tx_frame); |
196 } |
195 } |
197 |
196 |
198 if (eoe->rx_skb) dev_kfree_skb(eoe->rx_skb); |
197 if (eoe->rx_skb) |
|
198 dev_kfree_skb(eoe->rx_skb); |
|
199 |
|
200 free_netdev(eoe->dev); |
199 |
201 |
200 ec_datagram_clear(&eoe->datagram); |
202 ec_datagram_clear(&eoe->datagram); |
201 } |
203 } |
202 |
204 |
203 /*****************************************************************************/ |
205 /*****************************************************************************/ |