Use the same mac order in emac_set_type0addr as in emac_set_type1addr. The byte order was reversed.
Signed-off-by: Troy Kisky <[email protected]> diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 635e31f..8922327 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -1739,11 +1739,11 @@ static void emac_cleanup_rxch(struct emac_priv *priv, u32 ch) static void emac_set_type0addr(struct emac_priv *priv, u32 ch, char *mac_addr) { u32 val; - val = ((mac_addr[0] << 8) | (mac_addr[1])); + val = ((mac_addr[5] << 8) | (mac_addr[4])); emac_write(EMAC_MACSRCADDRLO, val); - val = ((mac_addr[2] << 24) | (mac_addr[3] << 16) | \ - (mac_addr[4] << 8) | (mac_addr[5])); + val = ((mac_addr[3] << 24) | (mac_addr[2] << 16) | \ + (mac_addr[1] << 8) | (mac_addr[0])); emac_write(EMAC_MACSRCADDRHI, val); val = emac_read(EMAC_RXUNICASTSET); val |= (1 << ch); -- 1.5.4.3 _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
