> +static int dp83822_suspend(struct phy_device *phydev)
> +{
> +     int value;
> +
> +     mutex_lock(&phydev->lock);
> +     value = phy_read_mmd(phydev, DP83822_DEVADDR,
> MII_DP83822_WOL_CFG);
> +     mutex_unlock(&phydev->lock);
Would we need mutex to access phy_read_mmd()?
phy_read_mmd() has mdio_lock for indirect access.

> +     if (!(value & DP83822_WOL_EN))
> +             genphy_suspend(phydev);
> +
> +     return 0;
> +}
> +
> +static int dp83822_resume(struct phy_device *phydev)
> +{
> +     int value;
> +
> +     genphy_resume(phydev);
> +
> +     mutex_lock(&phydev->lock);
> +     value = phy_read_mmd(phydev, DP83822_DEVADDR,
> MII_DP83822_WOL_CFG);
> +
> +     phy_write_mmd(phydev, DP83822_DEVADDR,
> MII_DP83822_WOL_CFG, value |
> +                   DP83822_WOL_CLR_INDICATION);
> +
> +     mutex_unlock(&phydev->lock);
Same here.

Woojung

Reply via email to