|
@@ -1563,7 +1563,10 @@ static int ugeth_disable(struct ucc_geth_private *ugeth, enum comm_dir mode)
|
|
|
|
|
|
static void ugeth_quiesce(struct ucc_geth_private *ugeth)
|
|
|
{
|
|
|
- /* Wait for and prevent any further xmits. */
|
|
|
+ /* Prevent any further xmits, plus detach the device. */
|
|
|
+ netif_device_detach(ugeth->ndev);
|
|
|
+
|
|
|
+ /* Wait for any current xmits to finish. */
|
|
|
netif_tx_disable(ugeth->ndev);
|
|
|
|
|
|
/* Disable the interrupt to avoid NAPI rescheduling. */
|
|
@@ -1577,7 +1580,7 @@ static void ugeth_activate(struct ucc_geth_private *ugeth)
|
|
|
{
|
|
|
napi_enable(&ugeth->napi);
|
|
|
enable_irq(ugeth->ug_info->uf_info.irq);
|
|
|
- netif_tx_wake_all_queues(ugeth->ndev);
|
|
|
+ netif_device_attach(ugeth->ndev);
|
|
|
}
|
|
|
|
|
|
/* Called every time the controller might need to be made
|