aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/if_cs.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 873ab10a0786..b5d0cd4c411a 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -379,6 +379,8 @@ static irqreturn_t if_cs_interrupt(int irq, void *data)
379 379
380 /* Ask card interrupt cause register if there is something for us */ 380 /* Ask card interrupt cause register if there is something for us */
381 cause = if_cs_read16(card, IF_CS_CARD_INT_CAUSE); 381 cause = if_cs_read16(card, IF_CS_CARD_INT_CAUSE);
382 lbs_deb_cs("cause 0x%04x\n", cause);
383
382 if (cause == 0) { 384 if (cause == 0) {
383 /* Not for us */ 385 /* Not for us */
384 return IRQ_NONE; 386 return IRQ_NONE;
@@ -390,10 +392,6 @@ static irqreturn_t if_cs_interrupt(int irq, void *data)
390 return IRQ_HANDLED; 392 return IRQ_HANDLED;
391 } 393 }
392 394
393 /* Clear interrupt cause */
394 if_cs_write16(card, IF_CS_CARD_INT_CAUSE, cause & IF_CS_BIT_MASK);
395 lbs_deb_cs("cause 0x%04x\n", cause);
396
397 if (cause & IF_CS_BIT_RX) { 395 if (cause & IF_CS_BIT_RX) {
398 struct sk_buff *skb; 396 struct sk_buff *skb;
399 lbs_deb_cs("rx packet\n"); 397 lbs_deb_cs("rx packet\n");
@@ -434,6 +432,9 @@ static irqreturn_t if_cs_interrupt(int irq, void *data)
434 lbs_queue_event(priv, event >> 8 & 0xff); 432 lbs_queue_event(priv, event >> 8 & 0xff);
435 } 433 }
436 434
435 /* Clear interrupt cause */
436 if_cs_write16(card, IF_CS_CARD_INT_CAUSE, cause & IF_CS_BIT_MASK);
437
437 lbs_deb_leave(LBS_DEB_CS); 438 lbs_deb_leave(LBS_DEB_CS);
438 return IRQ_HANDLED; 439 return IRQ_HANDLED;
439} 440}