aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/hwa-hc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c
index 5b86ffb88f1c..e58b92491eb1 100644
--- a/drivers/usb/host/hwa-hc.c
+++ b/drivers/usb/host/hwa-hc.c
@@ -199,10 +199,14 @@ static int hwahc_op_get_frame_number(struct usb_hcd *usb_hcd)
199{ 199{
200 struct wusbhc *wusbhc = usb_hcd_to_wusbhc(usb_hcd); 200 struct wusbhc *wusbhc = usb_hcd_to_wusbhc(usb_hcd);
201 struct hwahc *hwahc = container_of(wusbhc, struct hwahc, wusbhc); 201 struct hwahc *hwahc = container_of(wusbhc, struct hwahc, wusbhc);
202 struct wahc *wa = &hwahc->wa;
202 203
203 dev_err(wusbhc->dev, "%s (%p [%p]) UNIMPLEMENTED\n", __func__, 204 /*
204 usb_hcd, hwahc); 205 * We cannot query the HWA for the WUSB time since that requires sending
205 return -ENOSYS; 206 * a synchronous URB and this function can be called in_interrupt.
207 * Instead, query the USB frame number for our parent and use that.
208 */
209 return usb_get_current_frame_number(wa->usb_dev);
206} 210}
207 211
208static int hwahc_op_urb_enqueue(struct usb_hcd *usb_hcd, struct urb *urb, 212static int hwahc_op_urb_enqueue(struct usb_hcd *usb_hcd, struct urb *urb,