From 97322c3e074d49b1e2c6d98c7e69e5da3093636f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 27 Jul 2016 17:58:06 +0200 Subject: sunxi: Ensure that the NIC specific bytes of the mac are not all 0 On 2 of my H3 boards bytes 13-15 of the SID are all 0 leading to the NIC specific bytes of the mac all being 0, which leads to the boards not getting an ipv6 address from the dhcp server. This commits adds a check to ensure this does not happen. Cc: Chen-Yu Tsai Cc: Corentin LABBE Cc: Amit Singh Tomar Signed-off-by: Hans de Goede Acked-by: Ian Campbell --- board/sunxi/board.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'board/sunxi/board.c') diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 36cf96381c..ef3fe26d69 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -623,6 +623,10 @@ static void setup_environment(const void *fdt) ret = sunxi_get_sid(sid); if (ret == 0 && sid[0] != 0 && sid[3] != 0) { + /* Ensure the NIC specific bytes of the mac are not all 0 */ + if ((sid[3] & 0xffffff) == 0) + sid[3] |= 0x800000; + for (i = 0; i < 4; i++) { sprintf(ethaddr, "ethernet%d", i); if (!fdt_get_alias(fdt, ethaddr)) -- cgit v1.2.3