All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: chipidea: udc: check request status before setting device address
@ 2022-06-23  3:02 Xu Yang
  2022-07-03  0:42 ` Peter Chen
  0 siblings, 1 reply; 6+ messages in thread
From: Xu Yang @ 2022-06-23  3:02 UTC (permalink / raw)
  To: peter.chen; +Cc: gregkh, linux-usb, jun.li, linux-imx

The complete() function may be called even though request is not
completed. In this case, it's necessary to check request status so
as not to set device address wrongly.

Fixes: 10775eb17bee ("usb: chipidea: udc: update gadget states according to ch9")
cc: <stable@vger.kernel.org>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 drivers/usb/chipidea/udc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
index 0c9ae9768a67..8c3e3a635ac2 100644
--- a/drivers/usb/chipidea/udc.c
+++ b/drivers/usb/chipidea/udc.c
@@ -1048,6 +1048,9 @@ isr_setup_status_complete(struct usb_ep *ep, struct usb_request *req)
 	struct ci_hdrc *ci = req->context;
 	unsigned long flags;
 
+	if (req->status < 0)
+		return;
+
 	if (ci->setaddr) {
 		hw_usb_set_address(ci, ci->address);
 		ci->setaddr = false;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-12  1:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-23  3:02 [PATCH] usb: chipidea: udc: check request status before setting device address Xu Yang
2022-07-03  0:42 ` Peter Chen
2022-07-04  1:59   ` [EXT] " Xu Yang
2022-07-09 10:00     ` Peter Chen
2022-07-11  1:36       ` Xu Yang
2022-07-12  1:22         ` Peter Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.