diff --git a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts index c96cdae27fb150..03eb5486fa9c4c 100755 --- a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts @@ -60,7 +60,7 @@ pinctrl-0 = <&can0_pins>; spi-max-frequency = <10000000>; interrupt-parent = <&gpio>; - interrupts = <25 0x2>; + interrupts = <25 8>; /* IRQ_TYPE_LEVEL_LOW */ clocks = <&can0_osc>; }; }; diff --git a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts index 67bd0d9bdaa2ff..dc773fa3b50cea 100644 --- a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts @@ -60,7 +60,7 @@ pinctrl-0 = <&can1_pins>; spi-max-frequency = <10000000>; interrupt-parent = <&gpio>; - interrupts = <25 0x2>; + interrupts = <25 8>; /* IRQ_TYPE_LEVEL_LOW */ clocks = <&can1_osc>; }; }; diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index f3f05fea8e1f8e..6c2d3aba25918f 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c @@ -952,6 +952,9 @@ static int mcp251x_open(struct net_device *net) priv->tx_skb = NULL; priv->tx_len = 0; + if (spi->dev.of_node) + flags = 0; + ret = request_threaded_irq(spi->irq, NULL, mcp251x_can_ist, flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) {