On 03/11/2019 01:59 PM, Geert Uytterhoeven wrote: >> of_get_phy_mode may fail and return a negative error code; >> the fix checks the return value of of_get_phy_mode and >> returns NULL of it fails. >> >> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx> > >> --- a/drivers/net/ethernet/renesas/sh_eth.c >> +++ b/drivers/net/ethernet/renesas/sh_eth.c >> @@ -3187,6 +3187,8 @@ static struct sh_eth_plat_data *sh_eth_parse_dt(struct device *dev) >> return NULL; >> >> pdata->phy_interface = of_get_phy_mode(np); >> + if (pdata->phy_interface < 0) >> + return NULL; > > sh_eth_plat_data.phy_interface has type phy_interface_t. > This is an enum containing only positive values, hence it is unsigned. > So the condition can never be true. Good catch, thank you! My gcc doesn't warn but doesn't generate the code for the branch either... [...] > Gr{oetje,eeting}s, > > Geert MBR, Sergei