diff options
author | Jinjie Ruan <ruanjinjie@huawei.com> | 2024-09-10 20:43:12 +0800 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2024-09-18 16:54:30 +0300 |
commit | bcd1371bd85e560ccc9159b7747f94bfe43b77a6 (patch) | |
tree | 364be455294cea18933e72d9c96e0b799bf96128 /drivers/net/wireless/intersil | |
parent | ea11a89c3ac64ada9d8b7f7de279cb6385ed194f (diff) | |
download | linux-bcd1371bd85e560ccc9159b7747f94bfe43b77a6.tar.gz linux-bcd1371bd85e560ccc9159b7747f94bfe43b77a6.tar.bz2 linux-bcd1371bd85e560ccc9159b7747f94bfe43b77a6.zip |
wifi: p54: Use IRQF_NO_AUTOEN flag in request_irq()
disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.
Fixes: cd8d3d321285 ("p54spi: p54spi driver")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20240910124314.698896-2-ruanjinjie@huawei.com
Diffstat (limited to 'drivers/net/wireless/intersil')
-rw-r--r-- | drivers/net/wireless/intersil/p54/p54spi.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/wireless/intersil/p54/p54spi.c b/drivers/net/wireless/intersil/p54/p54spi.c index d33a994906a7..27f44a9f0bc1 100644 --- a/drivers/net/wireless/intersil/p54/p54spi.c +++ b/drivers/net/wireless/intersil/p54/p54spi.c @@ -624,7 +624,7 @@ static int p54spi_probe(struct spi_device *spi) gpio_direction_input(p54spi_gpio_irq); ret = request_irq(gpio_to_irq(p54spi_gpio_irq), - p54spi_interrupt, 0, "p54spi", + p54spi_interrupt, IRQF_NO_AUTOEN, "p54spi", priv->spi); if (ret < 0) { dev_err(&priv->spi->dev, "request_irq() failed"); @@ -633,8 +633,6 @@ static int p54spi_probe(struct spi_device *spi) irq_set_irq_type(gpio_to_irq(p54spi_gpio_irq), IRQ_TYPE_EDGE_RISING); - disable_irq(gpio_to_irq(p54spi_gpio_irq)); - INIT_WORK(&priv->work, p54spi_work); init_completion(&priv->fw_comp); INIT_LIST_HEAD(&priv->tx_pending); |