• Arnd Bergmann's avatar
    net/xgene: fix error handling during reset · f9dc7074
    Arnd Bergmann authored
    The newly added reset logic uses helper functions for the MMIO that
    may fail. However, when the read operation fails, we end up writing
    back uninitialized data to the register, as gcc warns:
    
    drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c: In function 'xgene_enet_link_state':
    drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c:213:2: error: 'data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c:209:6: note: 'data' was declared here
      u32 data;
    
    We already print a warning to the console log if that happens,
    the best alternative that I can see is skip the rest of the reset
    sequence if the register value cannot be read: Most likely the
    write would fail as well, and if it succeeded, worse things could
    happen.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Fixes: 3eb7cb9d ("drivers: net: xgene: XFI PCS reset when link is down")
    Cc: Fushen Chen <fchen@apm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f9dc7074
xgene_enet_xgmac.c 12 KB