summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-02-06 17:22:05 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2019-02-11 08:47:46 +0100
commite487e808b682706cba6dcf1340769528d371fb6e (patch)
tree498f20c8bcffb38255751ee27d65e2748bd32c87 /drivers/net/e1000
parent20aa1645a30da4e8c911e28ae21d520a35f07bf9 (diff)
downloadbarebox-e487e808b682706cba6dcf1340769528d371fb6e.tar.gz
barebox-e487e808b682706cba6dcf1340769528d371fb6e.tar.xz
net/e1000: Get rid of pointer arithmetic in e1000_poll
Instead of relying on reles of pointer arithmetic (implicit multiplication by the size of pointer type), change the code to retreive address of an array elemet to clarify the intent. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/main.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/e1000/main.c b/drivers/net/e1000/main.c
index e793785e60..f13b48e0c8 100644
--- a/drivers/net/e1000/main.c
+++ b/drivers/net/e1000/main.c
@@ -3391,11 +3391,9 @@ static void e1000_configure_rx(struct e1000_hw *hw)
static int e1000_poll(struct eth_device *edev)
{
struct e1000_hw *hw = edev->priv;
- volatile struct e1000_rx_desc *rd;
+ volatile struct e1000_rx_desc *rd = &hw->rx_base[hw->rx_last];
uint32_t len;
- rd = hw->rx_base + hw->rx_last;
-
if (le32_to_cpu(rd->status) & E1000_RXD_STAT_DD) {
len = le32_to_cpu(rd->length);