libertas: clean up lbs_interrupt()

Make it take struct lbs_private as argument; that's all it wants anyway,
and all callers were starting off from that. Don't wake the netif
queues, because those should be handled elsewhere. And sort out the
locking, with a big nasty warning for those who don't have the
driver_lock locked when they call it.

Oh, and fix if_cs.c to lock the driver_lock before calling it.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
David Woodhouse
2007-12-10 14:58:37 -05:00
committed by David S. Miller
parent 1309b55b4d
commit 4f67949656
5 changed files with 17 additions and 17 deletions

View File

@@ -264,8 +264,9 @@ static irqreturn_t if_cs_interrupt(int irq, void *data)
/* clear interrupt */
if_cs_write16(card, IF_CS_C_INT_CAUSE, int_cause & IF_CS_C_IC_MASK);
}
lbs_interrupt(card->priv->dev);
spin_lock(&card->priv->driver_lock);
lbs_interrupt(card->priv);
spin_unlock(&card->priv->driver_lock);
return IRQ_HANDLED;
}