linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] usb: dwc2: Drop unlock/lock upon queueing a work item
@ 2019-11-20 10:15 Lukas Wunner
  2020-01-09 12:36 ` Lukas Wunner
  2020-01-15 13:11 ` Minas Harutyunyan
  0 siblings, 2 replies; 10+ messages in thread
From: Lukas Wunner @ 2019-11-20 10:15 UTC (permalink / raw)
  To: Minas Harutyunyan, Felipe Balbi; +Cc: linux-usb

The original dwc_otg driver used a DWC_WORKQ_SCHEDULE() wrapper to queue
work items.  Because that wrapper acquired the driver's global spinlock,
an unlock/lock dance was necessary whenever a work item was queued up
while the global spinlock was already held.

The dwc2 driver dropped DWC_WORKQ_SCHEDULE() in favor of a direct call
to queue_work(), but retained the (now gratuitous) unlock/lock dance in
dwc2_handle_conn_id_status_change_intr().  Drop it.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
---
 drivers/usb/dwc2/core_intr.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/usb/dwc2/core_intr.c b/drivers/usb/dwc2/core_intr.c
index 6af6add3d4c0..876ff31261d5 100644
--- a/drivers/usb/dwc2/core_intr.c
+++ b/drivers/usb/dwc2/core_intr.c
@@ -288,14 +288,9 @@ static void dwc2_handle_conn_id_status_change_intr(struct dwc2_hsotg *hsotg)
 
 	/*
 	 * Need to schedule a work, as there are possible DELAY function calls.
-	 * Release lock before scheduling workq as it holds spinlock during
-	 * scheduling.
 	 */
-	if (hsotg->wq_otg) {
-		spin_unlock(&hsotg->lock);
+	if (hsotg->wq_otg)
 		queue_work(hsotg->wq_otg, &hsotg->wf_otg);
-		spin_lock(&hsotg->lock);
-	}
 }
 
 /**
-- 
2.24.0


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

end of thread, other threads:[~2020-01-15 13:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-20 10:15 [PATCH] usb: dwc2: Drop unlock/lock upon queueing a work item Lukas Wunner
2020-01-09 12:36 ` Lukas Wunner
2020-01-15  8:59   ` Felipe Balbi
2020-01-15  9:25     ` Minas Harutyunyan
2020-01-15 11:30       ` Lukas Wunner
2020-01-15 11:44         ` Minas Harutyunyan
2020-01-15 11:57           ` Lukas Wunner
2020-01-15 13:11 ` Minas Harutyunyan
2020-01-15 13:15   ` Felipe Balbi
2020-01-15 13:37     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).