diff --git a/[refs] b/[refs] index 237bf429af54..d2fbcae45def 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bb5f133dbc4f04b6388715d364ae5865455166c2 +refs/heads/master: 9a3de25544dadab1971847f28f33b1cd0d1770a6 diff --git a/trunk/drivers/net/starfire.c b/trunk/drivers/net/starfire.c index 1d2ef8f47780..5a40f2d78beb 100644 --- a/trunk/drivers/net/starfire.c +++ b/trunk/drivers/net/starfire.c @@ -1509,6 +1509,11 @@ static int __netdev_rx(struct net_device *dev, int *quota) desc->status = 0; np->rx_done = (np->rx_done + 1) % DONE_Q_SIZE; } + + if (*quota == 0) { /* out of rx quota */ + retcode = 1; + goto out; + } writew(np->rx_done, np->base + CompletionQConsumerIdx); out: