Commit ffb5ba90 authored by htbegin's avatar htbegin Committed by David S. Miller

net: ethernet: davinci_cpdma: decrease the desc count when cleaning up the remaining packets

chan->count is used by rx channel. If the desc count is not updated by
the clean up loop in cpdma_chan_stop, the value written to the rxfree
register in cpdma_chan_start will be incorrect.
Signed-off-by: default avatarTao Hou <hotforest@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent da158646
...@@ -863,6 +863,7 @@ int cpdma_chan_stop(struct cpdma_chan *chan) ...@@ -863,6 +863,7 @@ int cpdma_chan_stop(struct cpdma_chan *chan)
next_dma = desc_read(desc, hw_next); next_dma = desc_read(desc, hw_next);
chan->head = desc_from_phys(pool, next_dma); chan->head = desc_from_phys(pool, next_dma);
chan->count--;
chan->stats.teardown_dequeue++; chan->stats.teardown_dequeue++;
/* issue callback without locks held */ /* issue callback without locks held */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment