I'll submit patch for review. - Woojung
> On 10/02/2016 15:18, woojung....@microchip.com wrote: > >>> +static int lan88xx_config_init(struct phy_device *phydev) > >>> +{ > >>> + phydev->supported &= phydev->drv->features; > >>> + phydev->advertising &= phydev->drv->features; > >> > >> This looks suspicious, phy_probe() takes the driver supported features > >> and assigns it to phydev->supported, and phydev->advertising, is not > >> that working somehow? > >> > >> genphy_config_init() does look at the current MII_BMRS value to > >> determine what is supported by the PHY, and masks it in > >> phydev->supported, so that could indeed be an issue if we had not had a > >> change to mask with the supported modes before. > >> > >> I think we need more explanation here as to what kind of bug you may > >> have been observing, there could be one. > > > > SUPPORTED_Pause & SUPPORTED_Asym_Pause set at phydev->features > are removed by genphy_config_init(). > > As you pointed, it may be better to modify genphy_config_init() than each > driver's config_init routine. > > I see, that is definitively a bug, we should not clear these bits if the > Ethernet MAC driver asked for them. > -- > Florian