aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/arm/ks8695net.c
diff options
context:
space:
mode:
authorzeal <zealcook@gmail.com>2009-11-15 23:58:10 -0500
committerDavid S. Miller <davem@davemloft.net>2009-11-17 02:51:47 -0500
commit5c427ff9e4cc61625d48172ea082ae99e21eea6a (patch)
tree7c8b9b228f53cc5823ed6ef538e39b233cc4c77c /drivers/net/arm/ks8695net.c
parentfa6cae143d58c74d800b8dbdd8b9f058614874f2 (diff)
KS8695: fix ks8695_rx() unreasonable action.
ks8695_rx() will call refill_buffers() for every incoming packet. Its not necessary. We just need do it after finishing receiving thing. And the 'RX dma engine' is in the same situation. This blocks our user space application. The following patch may fix it. Signed-off-by: zeal <zealcook@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/arm/ks8695net.c')
-rw-r--r--drivers/net/arm/ks8695net.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/arm/ks8695net.c b/drivers/net/arm/ks8695net.c
index e15451a85107..be256b34cea8 100644
--- a/drivers/net/arm/ks8695net.c
+++ b/drivers/net/arm/ks8695net.c
@@ -544,14 +544,13 @@ rx_finished:
544 ksp->next_rx_desc_read = 544 ksp->next_rx_desc_read =
545 (last_rx_processed + 1) & 545 (last_rx_processed + 1) &
546 MAX_RX_DESC_MASK; 546 MAX_RX_DESC_MASK;
547
548 /* And refill the buffers */
549 ks8695_refill_rxbuffers(ksp);
550
551 /* Kick the RX DMA engine, in case it became
552 * suspended */
553 ks8695_writereg(ksp, KS8695_DRSC, 0);
554 } 547 }
548 /* And refill the buffers */
549 ks8695_refill_rxbuffers(ksp);
550
551 /* Kick the RX DMA engine, in case it became
552 * suspended */
553 ks8695_writereg(ksp, KS8695_DRSC, 0);
555 return received; 554 return received;
556} 555}
557 556