> +/** > + * phy_save_page() - take the bus lock and save the current page > + * @phydev: a pointer to a &struct phy_device > + * > + * Take the MDIO bus lock, and return the current page number. On error, > + * returns a negative errno. phy_restore_page() must be called after this > + * to release the lock even on failure. > + */ > +int phy_save_page(struct phy_device *phydev) > +{ > + mutex_lock(&phydev->mdio.bus->mdio_lock); > + return __phy_read_page(phydev); > +} > +EXPORT_SYMBOL_GPL(phy_save_page); > + > +/** > + * phy_select_page() - take the bus lock, save the current page, and set a > page > + * @phydev: a pointer to a &struct phy_device > + * @page: desired page > + * > + * Take the MDIO bus lock to protect against concurrent access, save the > + * current PHY page, and set the current page. On error, returns a > + * negative errno, otherwise returns the previous page number. > + * phy_restore_page() must be called after this to restore the page > + * number (if this call was successful) and release the lock.
Hi Russell This comment seems wrong. It looks like you need to call phy_restore_page() on error as well. I think the text in () should be removed, and add the "even on failure" which the previous function states. Andrew