wifi: p54: Use IRQF_NO_AUTOEN flag in request_irq()
[ Upstream commit bcd1371bd85e560ccc9159b7747f94bfe43b77a6 ]
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: cd8d3d3212 ("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
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
6dfbea145a
commit
0e720766e0
1 changed files with 1 additions and 3 deletions
|
|
@ -623,7 +623,7 @@ static int p54spi_probe(struct spi_device *spi)
|
||||||
gpio_direction_input(p54spi_gpio_irq);
|
gpio_direction_input(p54spi_gpio_irq);
|
||||||
|
|
||||||
ret = request_irq(gpio_to_irq(p54spi_gpio_irq),
|
ret = request_irq(gpio_to_irq(p54spi_gpio_irq),
|
||||||
p54spi_interrupt, 0, "p54spi",
|
p54spi_interrupt, IRQF_NO_AUTOEN, "p54spi",
|
||||||
priv->spi);
|
priv->spi);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&priv->spi->dev, "request_irq() failed");
|
dev_err(&priv->spi->dev, "request_irq() failed");
|
||||||
|
|
@ -632,8 +632,6 @@ static int p54spi_probe(struct spi_device *spi)
|
||||||
|
|
||||||
irq_set_irq_type(gpio_to_irq(p54spi_gpio_irq), IRQ_TYPE_EDGE_RISING);
|
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_WORK(&priv->work, p54spi_work);
|
||||||
init_completion(&priv->fw_comp);
|
init_completion(&priv->fw_comp);
|
||||||
INIT_LIST_HEAD(&priv->tx_pending);
|
INIT_LIST_HEAD(&priv->tx_pending);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue