GRETH: fix opening/closing
authorDaniel Hellstrom <daniel@gaisler.com>
Fri, 14 Jan 2011 03:02:38 +0000 (03:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Jan 2011 20:45:52 +0000 (12:45 -0800)
When NAPI is disabled there is no point in having IRQs enabled, TX/RX
should be off before clearing the TX/RX descriptor rings.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/greth.c

index 1c2dbdb4363110ab86536fb949b05c016367ca0a..b307696e0f635817335776eef5d1e35aa19f5c9e 100644 (file)
@@ -356,6 +356,8 @@ static int greth_open(struct net_device *dev)
                dev_dbg(&dev->dev, " starting queue\n");
        netif_start_queue(dev);
 
+       GRETH_REGSAVE(greth->regs->status, 0xFF);
+
        napi_enable(&greth->napi);
 
        greth_enable_irqs(greth);
@@ -371,7 +373,9 @@ static int greth_close(struct net_device *dev)
 
        napi_disable(&greth->napi);
 
+       greth_disable_irqs(greth);
        greth_disable_tx(greth);
+       greth_disable_rx(greth);
 
        netif_stop_queue(dev);