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

Commit 80b4a0f8 authored by Valentin Rothberg's avatar Valentin Rothberg Committed by Felipe Balbi
Browse files

usb: isp1760: set IRQ flags properly



The IRQF_DISABLED is a NOOP and scheduled to be removed.  According to
commit e58aa3d2 ("genirq: Run irq handlers with interrupts
disabled") running IRQ handlers with interrupts enabled can cause stack
overflows when the interrupt line of the issuing device is still active.

This patch removes using this deprecated flag and additionally removes
redundantly setting IRQF_SHARED for isp1760_udc_register().

Signed-off-by: default avatarValentin Rothberg <Valentin.Rothberg@lip6.fr>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 1c390eb3
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -151,8 +151,7 @@ int isp1760_register(struct resource *mem, int irq, unsigned long irqflags,
	}

	if (IS_ENABLED(CONFIG_USB_ISP1761_UDC) && !udc_disabled) {
		ret = isp1760_udc_register(isp, irq, irqflags | IRQF_SHARED |
					   IRQF_DISABLED);
		ret = isp1760_udc_register(isp, irq, irqflags);
		if (ret < 0) {
			isp1760_hcd_unregister(&isp->hcd);
			return ret;
+2 −2
Original line number Diff line number Diff line
@@ -1453,8 +1453,8 @@ int isp1760_udc_register(struct isp1760_device *isp, int irq,

	sprintf(udc->irqname, "%s (udc)", devname);

	ret = request_irq(irq, isp1760_udc_irq, IRQF_SHARED | IRQF_DISABLED |
			  irqflags, udc->irqname, udc);
	ret = request_irq(irq, isp1760_udc_irq, IRQF_SHARED | irqflags,
			  udc->irqname, udc);
	if (ret < 0)
		goto error;