RE: [EXT] [PATCH net-next v2 1/4] net: ethernet: support of_get_mac_address new ERR_PTR error
From: Petr Štetiar Sent: Tuesday, May 7, 2019 5:25 AM > There was NVMEM support added to of_get_mac_address, so it could now > return ERR_PTR encoded error values, so we need to adjust all current users > of of_get_mac_address to this new fact. > > While at it, remove superfluous is_valid_ether_addr as the MAC address > returned from of_get_mac_address is always valid and checked by > is_valid_ether_addr anyway. > > Fixes: d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") > Signed-off-by: Petr Štetiar Test the patch on i.MX8MQ platform that fix the mem abort issue that is introduced in next-190507. Tested-by: Fugang Duan > --- > > This is defacto v5 of the previous 05/10 patch in the series, but since the > v4 of this 05/10 patch wasn't picked up by the patchwork for some unknown > reason, this patch wasn't applied with the other 9 patches in the series, so > I'm resending it as a separate patch of this fixup series. > > Changes since v1: > > * added Fixes: tag > > Previous changelog (Patch 05/10): > > Changes since v3: > >* IS_ERR_OR_NULL -> IS_ERR > > Changes since v4: > >* I've just blindly replaced IS_ERR_OR_NULL with IS_ERR, but I've just > realized, that in some cases we still need to check for NULL, so I've > corrected it in following drivers/files: > > - broadcom/bgmac-bcma.c > - marvell/pxa168_eth.c > - samsung/sxgbe/sxgbe_platform.c > - stmicro/stmmac/stmmac_main.c > - wiznet/w5100.c > - ethernet/eth.c > > drivers/net/ethernet/aeroflex/greth.c | 2 +- > drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- > drivers/net/ethernet/altera/altera_tse_main.c | 2 +- > drivers/net/ethernet/arc/emac_main.c | 2 +- > drivers/net/ethernet/aurora/nb8800.c | 2 +- > drivers/net/ethernet/broadcom/bcmsysport.c| 2 +- > drivers/net/ethernet/broadcom/bgmac-bcma.c| 2 +- > drivers/net/ethernet/broadcom/bgmac-platform.c| 2 +- > drivers/net/ethernet/broadcom/genet/bcmgenet.c| 2 +- > drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 2 +- > drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 +- > drivers/net/ethernet/davicom/dm9000.c | 2 +- > drivers/net/ethernet/ethoc.c | 2 +- > drivers/net/ethernet/ezchip/nps_enet.c| 2 +- > drivers/net/ethernet/freescale/fec_main.c | 2 +- > drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +- > drivers/net/ethernet/freescale/fman/mac.c | 2 +- > drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- > drivers/net/ethernet/freescale/gianfar.c | 2 +- > drivers/net/ethernet/freescale/ucc_geth.c | 2 +- > drivers/net/ethernet/hisilicon/hisi_femac.c | 2 +- > drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 2 +- > drivers/net/ethernet/lantiq_xrx200.c | 2 +- > drivers/net/ethernet/marvell/mv643xx_eth.c| 2 +- > drivers/net/ethernet/marvell/mvneta.c | 2 +- > drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- > drivers/net/ethernet/marvell/sky2.c | 2 +- > drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 +- > drivers/net/ethernet/micrel/ks8851.c | 2 +- > drivers/net/ethernet/micrel/ks8851_mll.c | 2 +- > drivers/net/ethernet/nxp/lpc_eth.c| 2 +- > drivers/net/ethernet/qualcomm/qca_spi.c | 2 +- > drivers/net/ethernet/qualcomm/qca_uart.c | 2 +- > drivers/net/ethernet/renesas/ravb_main.c | 2 +- > drivers/net/ethernet/renesas/sh_eth.c | 2 +- > drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c | 2 +- > drivers/net/ethernet/socionext/sni_ave.c | 2 +- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- > drivers/net/ethernet/ti/cpsw.c| 2 +- > drivers/net/ethernet/ti/netcp_core.c | 2 +- > drivers/net/ethernet/wiznet/w5100.c | 2 +- > drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- > drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- > drivers/net/ethernet/xilinx/xilinx_emaclite.c | 2 +- > net/ethernet/eth.c| 2 +- > 45 files changed, 45 insertions(+), 45 deletions(-) > > diff --git a/drivers/net/ethernet/aeroflex/greth.c > b/drivers/net/ethernet/aeroflex/greth.c > index 47e5984..7c5cf02 100644 > --- a/drivers/net/ethernet/aeroflex/greth.c > +++ b/drivers/net/ethernet/aeroflex/greth.c > @@ -1459,7 +1459,7 @@ static int greth_of_probe(struct platform_device > *ofdev) > const u8 *addr; > > addr = of_get_mac_address(ofdev->dev.of_node); > - if (addr) { > + if (!IS_ERR(addr)) { > for (i = 0; i < 6; i++) >
[PATCH net-next v2 1/4] net: ethernet: support of_get_mac_address new ERR_PTR error
There was NVMEM support added to of_get_mac_address, so it could now return ERR_PTR encoded error values, so we need to adjust all current users of of_get_mac_address to this new fact. While at it, remove superfluous is_valid_ether_addr as the MAC address returned from of_get_mac_address is always valid and checked by is_valid_ether_addr anyway. Fixes: d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") Signed-off-by: Petr Štetiar --- This is defacto v5 of the previous 05/10 patch in the series, but since the v4 of this 05/10 patch wasn't picked up by the patchwork for some unknown reason, this patch wasn't applied with the other 9 patches in the series, so I'm resending it as a separate patch of this fixup series. Changes since v1: * added Fixes: tag Previous changelog (Patch 05/10): Changes since v3: * IS_ERR_OR_NULL -> IS_ERR Changes since v4: * I've just blindly replaced IS_ERR_OR_NULL with IS_ERR, but I've just realized, that in some cases we still need to check for NULL, so I've corrected it in following drivers/files: - broadcom/bgmac-bcma.c - marvell/pxa168_eth.c - samsung/sxgbe/sxgbe_platform.c - stmicro/stmmac/stmmac_main.c - wiznet/w5100.c - ethernet/eth.c drivers/net/ethernet/aeroflex/greth.c | 2 +- drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- drivers/net/ethernet/altera/altera_tse_main.c | 2 +- drivers/net/ethernet/arc/emac_main.c | 2 +- drivers/net/ethernet/aurora/nb8800.c | 2 +- drivers/net/ethernet/broadcom/bcmsysport.c| 2 +- drivers/net/ethernet/broadcom/bgmac-bcma.c| 2 +- drivers/net/ethernet/broadcom/bgmac-platform.c| 2 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c| 2 +- drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 2 +- drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 +- drivers/net/ethernet/davicom/dm9000.c | 2 +- drivers/net/ethernet/ethoc.c | 2 +- drivers/net/ethernet/ezchip/nps_enet.c| 2 +- drivers/net/ethernet/freescale/fec_main.c | 2 +- drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +- drivers/net/ethernet/freescale/fman/mac.c | 2 +- drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- drivers/net/ethernet/freescale/gianfar.c | 2 +- drivers/net/ethernet/freescale/ucc_geth.c | 2 +- drivers/net/ethernet/hisilicon/hisi_femac.c | 2 +- drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 2 +- drivers/net/ethernet/lantiq_xrx200.c | 2 +- drivers/net/ethernet/marvell/mv643xx_eth.c| 2 +- drivers/net/ethernet/marvell/mvneta.c | 2 +- drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- drivers/net/ethernet/marvell/sky2.c | 2 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 +- drivers/net/ethernet/micrel/ks8851.c | 2 +- drivers/net/ethernet/micrel/ks8851_mll.c | 2 +- drivers/net/ethernet/nxp/lpc_eth.c| 2 +- drivers/net/ethernet/qualcomm/qca_spi.c | 2 +- drivers/net/ethernet/qualcomm/qca_uart.c | 2 +- drivers/net/ethernet/renesas/ravb_main.c | 2 +- drivers/net/ethernet/renesas/sh_eth.c | 2 +- drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c | 2 +- drivers/net/ethernet/socionext/sni_ave.c | 2 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- drivers/net/ethernet/ti/cpsw.c| 2 +- drivers/net/ethernet/ti/netcp_core.c | 2 +- drivers/net/ethernet/wiznet/w5100.c | 2 +- drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 2 +- net/ethernet/eth.c| 2 +- 45 files changed, 45 insertions(+), 45 deletions(-) diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c index 47e5984..7c5cf02 100644 --- a/drivers/net/ethernet/aeroflex/greth.c +++ b/drivers/net/ethernet/aeroflex/greth.c @@ -1459,7 +1459,7 @@ static int greth_of_probe(struct platform_device *ofdev) const u8 *addr; addr = of_get_mac_address(ofdev->dev.of_node); - if (addr) { + if (!IS_ERR(addr)) { for (i = 0; i < 6; i++) macaddr[i] = (unsigned int) addr[i]; } else { diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c index e1acafa..37ebd89 100644 --- a/drivers/net/ethernet/allwinner/sun4i-emac.c +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c @@ -870,7 +870,7 @@ static int emac_probe(struct