From: juhosg 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: https://git.rohieb.name/openwrt.git/commitdiff_plain/c369186781ad419dc837eb5b1dda1bf139fbb901?hp=bcc8770afa7f25036c8380a572b08aa51a753da6 ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30733 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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 60001e3bc..beceb9441 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;