summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-02-06 17:22:07 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2019-02-11 08:47:46 +0100
commit75fa85c5856cef4b9944f6bd7f1ccec38e20e000 (patch)
tree54bb7b79b3668ece48d4f54c612c5033fd479218 /drivers/net/e1000
parenteff0435d57634bc62c9fc05ad54a8829dfec3b96 (diff)
downloadbarebox-75fa85c5856cef4b9944f6bd7f1ccec38e20e000.tar.gz
barebox-75fa85c5856cef4b9944f6bd7f1ccec38e20e000.tar.xz
net/e1000: Remove pointer arithmetic in e1000_transmit()
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.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/e1000/main.c b/drivers/net/e1000/main.c
index b8222c7ae2..f7e26a0e58 100644
--- a/drivers/net/e1000/main.c
+++ b/drivers/net/e1000/main.c
@@ -3413,12 +3413,11 @@ static int e1000_poll(struct eth_device *edev)
static int e1000_transmit(struct eth_device *edev, void *txpacket, int length)
{
struct e1000_hw *hw = edev->priv;
- volatile struct e1000_tx_desc *txp;
+ volatile struct e1000_tx_desc *txp = &hw->tx_base[hw->tx_tail];
uint64_t to;
dma_addr_t dma;
int ret = 0;
- txp = hw->tx_base + hw->tx_tail;
hw->tx_tail = (hw->tx_tail + 1) % 8;
txp->lower.data = cpu_to_le32(hw->txd_cmd | length);