提交 5c427ff9 编写于 作者: Z zeal 提交者: David S. Miller

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: Nzeal <zealcook@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 fa6cae14
...@@ -544,14 +544,13 @@ static int ks8695_rx(struct ks8695_priv *ksp, int budget) ...@@ -544,14 +544,13 @@ static int ks8695_rx(struct ks8695_priv *ksp, int budget)
ksp->next_rx_desc_read = ksp->next_rx_desc_read =
(last_rx_processed + 1) & (last_rx_processed + 1) &
MAX_RX_DESC_MASK; MAX_RX_DESC_MASK;
/* And refill the buffers */
ks8695_refill_rxbuffers(ksp);
/* Kick the RX DMA engine, in case it became
* suspended */
ks8695_writereg(ksp, KS8695_DRSC, 0);
} }
/* And refill the buffers */
ks8695_refill_rxbuffers(ksp);
/* Kick the RX DMA engine, in case it became
* suspended */
ks8695_writereg(ksp, KS8695_DRSC, 0);
return received; return received;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册