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

Commit a4afd012 authored by John Youn's avatar John Youn Committed by Felipe Balbi
Browse files

usb: gadget: composite: Count configs for SuperSpeedPlus



If enumerated in SuperSpeedPlus, count the configurations that support
it.

Signed-off-by: default avatarJohn Youn <johnyoun@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent 554eead5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -511,18 +511,24 @@ static int count_configs(struct usb_composite_dev *cdev, unsigned type)
	unsigned			count = 0;
	int				hs = 0;
	int				ss = 0;
	int				ssp = 0;

	if (gadget_is_dualspeed(gadget)) {
		if (gadget->speed == USB_SPEED_HIGH)
			hs = 1;
		if (gadget->speed == USB_SPEED_SUPER)
			ss = 1;
		if (gadget->speed == USB_SPEED_SUPER_PLUS)
			ssp = 1;
		if (type == USB_DT_DEVICE_QUALIFIER)
			hs = !hs;
	}
	list_for_each_entry(c, &cdev->configs, list) {
		/* ignore configs that won't work at this speed */
		if (ss) {
		if (ssp) {
			if (!c->superspeed_plus)
				continue;
		} else if (ss) {
			if (!c->superspeed)
				continue;
		} else if (hs) {