
Hi,
I'm using a ethernet controller intel i210 (http://www.commell.com.tw/product/Surveillance/MPX-210.htm) on my nvidia tegra k1 jetson.
I not an expert with pci, but the only way to make it working in u-boot (upstream) is with the workaround below.
E1000 is very common, so finding a critical bug in this driver seems weird... Do you think there is a bug in e1000.c or in tegra pci layer?
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 2ba03ed..206884d 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -5186,7 +5186,7 @@ static int _e1000_transmit(struct e1000_hw *hw, void *txpacket, int length) txp = tx_base + tx_tail; tx_tail = (tx_tail + 1) % 8;
- txp->buffer_addr = cpu_to_le64(virt_to_bus(hw->pdev, nv_packet)); + txp->buffer_addr = cpu_to_le64((unsigned long) nv_packet); txp->lower.data = cpu_to_le32(hw->txd_cmd | length); txp->upper.data = 0;
thank you