From: Gabor Juhos Date: Sun, 26 Feb 2012 10:54:13 +0000 (+0000) Subject: ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=72599f0c610cf73c91b2fa589d084ef44a4a4d00;p=openwrt%2Fstaging%2Fldir.git ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop SVN-Revision: 30733 --- diff --git a/target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c b/target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c index 60001e3bc1..beceb9441e 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c @@ -717,13 +717,15 @@ ramips_eth_rx_hw(unsigned long ptr) int rx; int max_rx = 16; + rx = ramips_fe_rr(RAMIPS_RX_CALC_IDX0); + while (max_rx) { struct raeth_rx_info *rxi; struct ramips_rx_dma *rxd; struct sk_buff *rx_skb, *new_skb; int pktlen; - rx = (ramips_fe_rr(RAMIPS_RX_CALC_IDX0) + 1) % NUM_RX_DESC; + rx = (rx + 1) % NUM_RX_DESC; rxi = &re->rx_info[rx]; rxd = rxi->rx_desc;