diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-09-14 18:28:14 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-10-19 02:56:03 -0400 |
commit | 1a5a73c0c5459f991b871855eb36099df65ecb7e (patch) | |
tree | e41fe888a42dec357d52c4d8edacc8cd9aa455e9 /drivers/net/wimax/i2400m/usb.c | |
parent | 7b43ca708a767a5f68eeeb732c569c0f11a7d6f7 (diff) |
wimax/i2400m: implement .reset_resume in USB subdriver
Current driver didn't implement the .reset_resume method. The i2400m
normally always reset on a comeback from system standby/hibernation.
This requires previously applied commits to cache the firmware image
file.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/usb.c')
-rw-r--r-- | drivers/net/wimax/i2400m/usb.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c index 77d08d928274..07653ded6c59 100644 --- a/drivers/net/wimax/i2400m/usb.c +++ b/drivers/net/wimax/i2400m/usb.c | |||
@@ -624,6 +624,21 @@ out: | |||
624 | 624 | ||
625 | 625 | ||
626 | static | 626 | static |
627 | int i2400mu_reset_resume(struct usb_interface *iface) | ||
628 | { | ||
629 | int result; | ||
630 | struct device *dev = &iface->dev; | ||
631 | struct i2400mu *i2400mu = usb_get_intfdata(iface); | ||
632 | struct i2400m *i2400m = &i2400mu->i2400m; | ||
633 | |||
634 | d_fnstart(3, dev, "(iface %p)\n", iface); | ||
635 | result = i2400m_dev_reset_handle(i2400m, "device reset on resume"); | ||
636 | d_fnend(3, dev, "(iface %p) = %d\n", iface, result); | ||
637 | return result < 0 ? result : 0; | ||
638 | } | ||
639 | |||
640 | |||
641 | static | ||
627 | struct usb_device_id i2400mu_id_table[] = { | 642 | struct usb_device_id i2400mu_id_table[] = { |
628 | { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050) }, | 643 | { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050) }, |
629 | { USB_DEVICE(0x8086, 0x0181) }, | 644 | { USB_DEVICE(0x8086, 0x0181) }, |
@@ -643,6 +658,7 @@ struct usb_driver i2400mu_driver = { | |||
643 | .name = KBUILD_MODNAME, | 658 | .name = KBUILD_MODNAME, |
644 | .suspend = i2400mu_suspend, | 659 | .suspend = i2400mu_suspend, |
645 | .resume = i2400mu_resume, | 660 | .resume = i2400mu_resume, |
661 | .reset_resume = i2400mu_reset_resume, | ||
646 | .probe = i2400mu_probe, | 662 | .probe = i2400mu_probe, |
647 | .disconnect = i2400mu_disconnect, | 663 | .disconnect = i2400mu_disconnect, |
648 | .id_table = i2400mu_id_table, | 664 | .id_table = i2400mu_id_table, |