Skip to content

Commit

Permalink
smsc95xx: don't enable remote wakeup directly
Browse files Browse the repository at this point in the history
As pointed out by Bjorn Mork, the generic "usb" driver sets this
for us so no need to directly set it in this driver.

Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net>
Cc: Bjorn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Steve Glendinning authored and David S. Miller committed Nov 30, 2012
1 parent 3b9f7d8 commit 3b14692
Showing 1 changed file with 5 additions and 25 deletions.
30 changes: 5 additions & 25 deletions drivers/net/usb/smsc95xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,25 +154,6 @@ static int __must_check smsc95xx_write_reg(struct usbnet *dev, u32 index,
{
return __smsc95xx_write_reg(dev, index, data, 0);
}
static int smsc95xx_set_feature(struct usbnet *dev, u32 feature)
{
if (WARN_ON_ONCE(!dev))
return -EINVAL;

return usbnet_write_cmd_nopm(dev, USB_REQ_SET_FEATURE,
USB_RECIP_DEVICE, feature, 0,
NULL, 0);
}

static int smsc95xx_clear_feature(struct usbnet *dev, u32 feature)
{
if (WARN_ON_ONCE(!dev))
return -EINVAL;

return usbnet_write_cmd_nopm(dev, USB_REQ_CLEAR_FEATURE,
USB_RECIP_DEVICE, feature,
0, NULL, 0);
}

/* Loop until the read is completed with timeout
* called with phy_mutex held */
Expand Down Expand Up @@ -685,8 +666,13 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net,
{
struct usbnet *dev = netdev_priv(net);
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
int ret;

pdata->wolopts = wolinfo->wolopts & SUPPORTED_WAKE;

ret = device_set_wakeup_enable(&dev->udev->dev, pdata->wolopts);
check_warn_return(ret, "device_set_wakeup_enable error %d\n", ret);

return 0;
}

Expand Down Expand Up @@ -1160,8 +1146,6 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev)
ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val);
check_warn_return(ret, "Error reading PM_CTRL\n");

smsc95xx_set_feature(dev, USB_DEVICE_REMOTE_WAKEUP);

return 0;
}

Expand Down Expand Up @@ -1204,8 +1188,6 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev)
ret = smsc95xx_write_reg_nopm(dev, PM_CTRL, val);
check_warn_return(ret, "Error writing PM_CTRL\n");

smsc95xx_set_feature(dev, USB_DEVICE_REMOTE_WAKEUP);

return 0;
}

Expand Down Expand Up @@ -1456,8 +1438,6 @@ static int smsc95xx_resume(struct usb_interface *intf)
BUG_ON(!dev);

if (pdata->wolopts) {
smsc95xx_clear_feature(dev, USB_DEVICE_REMOTE_WAKEUP);

/* clear wake-up sources */
ret = smsc95xx_read_reg_nopm(dev, WUCSR, &val);
check_warn_return(ret, "Error reading WUCSR\n");
Expand Down

0 comments on commit 3b14692

Please sign in to comment.