Explorar el Código

usb: renesas_usbhs: return error if wrong recip request

There are some USB Host which doesn't notice disconnection at once.
And it might try some request after reconnection with old settings.
Current renesas_usbhs will crash in such case.
This patch prevent this issue.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kuninori Morimoto hace 14 años
padre
commit
9a28b7bd4f
Se han modificado 1 ficheros con 4 adiciones y 0 borrados
  1. 4 0
      drivers/usb/renesas_usbhs/mod_gadget.c

+ 4 - 0
drivers/usb/renesas_usbhs/mod_gadget.c

@@ -583,6 +583,10 @@ static int usbhsg_recip_run_handle(struct usbhs_priv *priv,
 	char *msg;
 
 	uep = usbhsg_gpriv_to_nth_uep(gpriv, nth);
+	if (!usbhsg_uep_to_pipe(uep)) {
+		dev_err(dev, "wrong recip request\n");
+		return -EINVAL;
+	}
 
 	switch (recip) {
 	case USB_RECIP_DEVICE: