diff options
author | hayeswang <hayeswang@realtek.com> | 2014-10-09 12:00:25 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-10 01:06:08 +0200 |
commit | 8d4a4d7286eb6fc783149de44aa90de4bc72a9fe (patch) | |
tree | a79b5639e218cebfe2ef30f0c1490a4ef6e4984a | |
parent | r8152: autoresume before setting feature (diff) | |
download | linux-8d4a4d7286eb6fc783149de44aa90de4bc72a9fe.tar.xz linux-8d4a4d7286eb6fc783149de44aa90de4bc72a9fe.zip |
r8152: adjust usb_autopm_xxx
Add usb_autopm_xxx for rtl8152_get_settings() ,and remove
usb_autopm_xxx from read_mii_word() and write_mii_word().
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/usb/r8152.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index c5afe8c85cbc..1d2fc8effda6 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -942,15 +942,8 @@ static int read_mii_word(struct net_device *netdev, int phy_id, int reg) if (phy_id != R8152_PHY_ID) return -EINVAL; - ret = usb_autopm_get_interface(tp->intf); - if (ret < 0) - goto out; - ret = r8152_mdio_read(tp, reg); - usb_autopm_put_interface(tp->intf); - -out: return ret; } @@ -965,12 +958,7 @@ void write_mii_word(struct net_device *netdev, int phy_id, int reg, int val) if (phy_id != R8152_PHY_ID) return; - if (usb_autopm_get_interface(tp->intf) < 0) - return; - r8152_mdio_write(tp, reg, val); - - usb_autopm_put_interface(tp->intf); } static int @@ -3290,11 +3278,21 @@ static int rtl8152_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd) { struct r8152 *tp = netdev_priv(netdev); + int ret; if (!tp->mii.mdio_read) return -EOPNOTSUPP; - return mii_ethtool_gset(&tp->mii, cmd); + ret = usb_autopm_get_interface(tp->intf); + if (ret < 0) + goto out; + + ret = mii_ethtool_gset(&tp->mii, cmd); + + usb_autopm_put_interface(tp->intf); + +out: + return ret; } static int rtl8152_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) |