Skip to content

Commit

Permalink
KS8695: fix ks8695_rx() unreasonable action.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
zeal authored and David S. Miller committed Nov 17, 2009
1 parent fa6cae1 commit 5c427ff
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions drivers/net/arm/ks8695net.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,14 +544,13 @@ static int ks8695_rx(struct ks8695_priv *ksp, int budget)
ksp->next_rx_desc_read =
(last_rx_processed + 1) &
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;
}

Expand Down

0 comments on commit 5c427ff

Please sign in to comment.