diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-12 18:46:07 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-12 18:46:07 +0200 |
| commit | 0c80bdfc9aa624b4a6c33c30ad11e81bf6407c36 (patch) | |
| tree | caea5044f1bd46b56c9894a23c629ef4bf93a5ce /drivers/net/usb/sr9700.c | |
| parent | bfa54a793ba77ef696755b66f3ac4ed00c7d1248 (diff) | |
| parent | 7c626ce4bae1ac14f60076d00eafe71af30450ba (diff) | |
Merge 6.11-rc3 into driver-core-next
We need the driver core fixes in here as well to build on top of.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/usb/sr9700.c')
| -rw-r--r-- | drivers/net/usb/sr9700.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/usb/sr9700.c b/drivers/net/usb/sr9700.c index 0a662e42ed96..cb7d2f798fb4 100644 --- a/drivers/net/usb/sr9700.c +++ b/drivers/net/usb/sr9700.c @@ -179,6 +179,7 @@ static int sr_mdio_read(struct net_device *netdev, int phy_id, int loc) struct usbnet *dev = netdev_priv(netdev); __le16 res; int rc = 0; + int err; if (phy_id) { netdev_dbg(netdev, "Only internal phy supported\n"); @@ -189,11 +190,17 @@ static int sr_mdio_read(struct net_device *netdev, int phy_id, int loc) if (loc == MII_BMSR) { u8 value; - sr_read_reg(dev, SR_NSR, &value); + err = sr_read_reg(dev, SR_NSR, &value); + if (err < 0) + return err; + if (value & NSR_LINKST) rc = 1; } - sr_share_read_word(dev, 1, loc, &res); + err = sr_share_read_word(dev, 1, loc, &res); + if (err < 0) + return err; + if (rc == 1) res = le16_to_cpu(res) | BMSR_LSTATUS; else |
