• Alexandre Belloni's avatar
    net: macb: Properly handle phylink on at91rm9200 · ac2fcfa9
    Alexandre Belloni authored
    at91ether_init was handling the phy mode and speed but since the switch to
    phylink, the NCFGR register got overwritten by macb_mac_config(). The issue
    is that the RM9200_RMII bit and the MACB_CLK_DIV32 field are cleared
    but never restored as they conflict with the PAE, GBE and PCSSEL bits.
    
    Add new capability to differentiate between EMAC and the other versions of
    the IP and use it to set and avoid clearing the relevant bits.
    
    Also, this fixes a NULL pointer dereference in macb_mac_link_up as the EMAC
    doesn't use any rings/bufffers/queues.
    
    Fixes: 7897b071 ("net: macb: convert to phylink")
    Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ac2fcfa9
macb_main.c 119 KB