|
@@ -1188,6 +1188,8 @@ composite_suspend(struct usb_gadget *gadget)
|
|
|
composite->suspend(cdev);
|
|
|
|
|
|
cdev->suspended = 1;
|
|
|
+
|
|
|
+ usb_gadget_vbus_draw(gadget, 2);
|
|
|
}
|
|
|
|
|
|
static void
|
|
@@ -1195,6 +1197,7 @@ composite_resume(struct usb_gadget *gadget)
|
|
|
{
|
|
|
struct usb_composite_dev *cdev = get_gadget_data(gadget);
|
|
|
struct usb_function *f;
|
|
|
+ u8 maxpower;
|
|
|
|
|
|
/* REVISIT: should we have config level
|
|
|
* suspend/resume callbacks?
|
|
@@ -1207,6 +1210,11 @@ composite_resume(struct usb_gadget *gadget)
|
|
|
if (f->resume)
|
|
|
f->resume(f);
|
|
|
}
|
|
|
+
|
|
|
+ maxpower = cdev->config->bMaxPower;
|
|
|
+
|
|
|
+ usb_gadget_vbus_draw(gadget, maxpower ?
|
|
|
+ (2 * maxpower) : CONFIG_USB_GADGET_VBUS_DRAW);
|
|
|
}
|
|
|
|
|
|
cdev->suspended = 0;
|