net: ethernet: ti: davinci_cpdma: don't stop ctlr if it was stopped
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Fri, 11 Nov 2016 14:10:47 +0000 (16:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Nov 2016 18:40:24 +0000 (13:40 -0500)
No need to stop ctlr if it was already stopped. It can cause timeout
warns. Steps:
- ifconfig eth0 down
- ethtool -l eth0 rx 8 tx 8
- ethtool -l eth0 rx 1 tx 1

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/davinci_cpdma.c

index 56395cefb92632654fe8591f903921234b3bd56b..56708a79a18a233abe816291378b334694d3014f 100644 (file)
@@ -387,7 +387,7 @@ int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr)
        int i;
 
        spin_lock_irqsave(&ctlr->lock, flags);
-       if (ctlr->state == CPDMA_STATE_TEARDOWN) {
+       if (ctlr->state != CPDMA_STATE_ACTIVE) {
                spin_unlock_irqrestore(&ctlr->lock, flags);
                return -EINVAL;
        }