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

Commit 1744020c authored by Sven Schnelle's avatar Sven Schnelle Committed by Greg Kroah-Hartman
Browse files

USB: dbgp gadget: fix return value of dbgp_setup



Current code returns 0 even if it can't handle the request.
This leads to timeouts when an unhandled request is sent:

Bus 001 Device 003: ID 0525:c0de Netchip Technology, Inc.
Device Descriptor:
[..]
can't get device qualifier: Connection timed out
[..]

change the code to return EOPNOTSUPP in such cases.

Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 25a73c6c
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -350,9 +350,9 @@ static int dbgp_setup(struct usb_gadget *gadget,
	u8 request = ctrl->bRequest;
	u16 value = le16_to_cpu(ctrl->wValue);
	u16 length = le16_to_cpu(ctrl->wLength);
	int err = 0;
	void *data;
	u16 len;
	int err = -EOPNOTSUPP;
	void *data = NULL;
	u16 len = 0;

	gadget->ep0->driver_data = gadget;

@@ -371,10 +371,9 @@ static int dbgp_setup(struct usb_gadget *gadget,
		default:
			goto fail;
		}
		err = 0;
	} else if (request == USB_REQ_SET_FEATURE &&
		   value == USB_DEVICE_DEBUG_MODE) {
		len = 0;
		data = NULL;
		dev_dbg(&dbgp.gadget->dev, "setup: feat debug\n");
#ifdef CONFIG_USB_G_DBGP_PRINTK
		err = dbgp_enable_ep();