019-greth_fix_open_close.patch 963 B

12345678910111213141516171819202122232425262728293031323334
  1. From 6216bc809c5bdd586b14d096fbaf6dc25574b928 Mon Sep 17 00:00:00 2001
  2. From: Daniel Hellstrom <[email protected]>
  3. Date: Wed, 1 Dec 2010 09:59:14 +0100
  4. Subject: [PATCH] GRETH: fix opening/closing
  5. When NAPI is disabled there is no point in having IRQs enabled, TX/RX
  6. should be off before clearing the TX/RX descriptor rings.
  7. Signed-off-by: Daniel Hellstrom <[email protected]>
  8. ---
  9. drivers/net/greth.c | 4 ++++
  10. 1 files changed, 4 insertions(+), 0 deletions(-)
  11. --- a/drivers/net/greth.c
  12. +++ b/drivers/net/greth.c
  13. @@ -365,6 +365,8 @@ static int greth_open(struct net_device
  14. dev_dbg(&dev->dev, " starting queue\n");
  15. netif_start_queue(dev);
  16. + GRETH_REGSAVE(greth->regs->status, 0xFF);
  17. +
  18. napi_enable(&greth->napi);
  19. greth_enable_irqs(greth);
  20. @@ -380,7 +382,9 @@ static int greth_close(struct net_device
  21. napi_disable(&greth->napi);
  22. + greth_disable_irqs(greth);
  23. greth_disable_tx(greth);
  24. + greth_disable_rx(greth);
  25. netif_stop_queue(dev);