mirror of https://gitee.com/openkylin/linux.git
wireless: cw1200: acquire hwbus lock around cw1200_irq_handler() call.
This fixes "lost interrupt" problems that occurred on SPI-based systems. cw1200_irq_handler() expects the hwbus to be locked, but on the SPI-path, that lock wasn't taken (unlike in the SDIO-path, where the generic SDIO-code takes care of acquiring the lock). Cc: stable@vger.kernel.org Signed-off-by: David Mosberger <davidm@egauge.net> Signed-off-by: Solomon Peachy <pizza@shaftnet.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
9473ca6e92
commit
4978705d26
|
@ -237,7 +237,9 @@ static irqreturn_t cw1200_spi_irq_handler(int irq, void *dev_id)
|
||||||
struct hwbus_priv *self = dev_id;
|
struct hwbus_priv *self = dev_id;
|
||||||
|
|
||||||
if (self->core) {
|
if (self->core) {
|
||||||
|
cw1200_spi_lock(self);
|
||||||
cw1200_irq_handler(self->core);
|
cw1200_irq_handler(self->core);
|
||||||
|
cw1200_spi_unlock(self);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
} else {
|
} else {
|
||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
|
|
Loading…
Reference in New Issue