From: Peter Fink <pf...@christ-es.de> When the MAC address is supplied via device tree or a random MAC is generated it has to be written to the asix chip in order to receive any data.
In the previous commit (9fb137a) this line was omitted because it seemed to work perfectly fine without it. But it was simply not detected because the chip keeps the mac stored even beyond a reset and it was tested on a hardware with an integrated UPS where the asix chip was permanently powered on even throughout power cycles. Signed-off-by: Peter Fink <pf...@christ-es.de> --- drivers/net/usb/ax88179_178a.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c index 5a58766..c5a6e75 100644 --- a/drivers/net/usb/ax88179_178a.c +++ b/drivers/net/usb/ax88179_178a.c @@ -1235,6 +1235,9 @@ static void ax88179_get_mac_addr(struct usbnet *dev) netdev_info(dev->net, "invalid MAC address, using random\n"); eth_hw_addr_random(dev->net); } + + ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_NODE_ID, ETH_ALEN, ETH_ALEN, + dev->net->dev_addr); } static int ax88179_bind(struct usbnet *dev, struct usb_interface *intf) -- 2.7.4