Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b23f2f94 authored by Hao Wu's avatar Hao Wu Committed by Greg Kroah-Hartman
Browse files

usb: composite gadget: set vbus_draw current limitation during suspend



This patch modifies the composite gadget to set vbus_draw current limitation
during suspend state. This current limitation in suspend state shouldn't be
more than 2.5mA

Signed-off-by: default avatarHao Wu <hao.wu@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c3d6450e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;