usb: musb: dsps: Fix vbus vs tps65217-charger irq conflict
authorGrant B Adams <nemith592@gmail.com>
Wed, 23 Aug 2023 08:54:30 +0000 (10:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Oct 2023 11:54:28 +0000 (13:54 +0200)
Enabling the tps65217-charger driver/module causes an interrupt conflict
with the vbus driver resulting in a probe failure.
The conflict is resolved by changing both driver's threaded interrupt
request function from IRQF_ONESHOT to IRQF_SHARED.

Signed-off-by: Grant B Adams <nemith592@gmail.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20230823085430.6610-3-nemith592@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/musb/musb_dsps.c

index 98b42dc04dee8c2716db379e0b84e260d21b9920..9c7a8bbc0542ceee69ff9353499207d468f7fe98 100644 (file)
@@ -849,7 +849,7 @@ static int dsps_setup_optional_vbus_irq(struct platform_device *pdev,
 
        error = devm_request_threaded_irq(glue->dev, glue->vbus_irq,
                                          NULL, dsps_vbus_threaded_irq,
-                                         IRQF_ONESHOT,
+                                         IRQF_SHARED,
                                          "vbus", glue);
        if (error) {
                glue->vbus_irq = 0;