From a8243296f785a9135e735c47d96dfd15e8886627 Mon Sep 17 00:00:00 2001 From: Indan Zupancic Date: Sat, 8 Jan 2011 12:17:27 +0100 Subject: [PATCH] --- yaml --- r: 231205 b: refs/heads/master c: 3c4a8cc46e8cc17910020964689f3faf6bffb8ad h: refs/heads/master i: 231203: fbb7f28d375d0099ffe4f1cc1ca00b0177d321a6 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ipw2x00/ipw2200.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 1e9c191b9afb..2f5cc741a46c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ed70c6e60ee51b0fb46752ab4fd372a071da59d8 +refs/heads/master: 3c4a8cc46e8cc17910020964689f3faf6bffb8ad diff --git a/trunk/drivers/net/wireless/ipw2x00/ipw2200.c b/trunk/drivers/net/wireless/ipw2x00/ipw2200.c index 8d6ed5f6f46f..ae438ed80c2f 100644 --- a/trunk/drivers/net/wireless/ipw2x00/ipw2200.c +++ b/trunk/drivers/net/wireless/ipw2x00/ipw2200.c @@ -1973,6 +1973,13 @@ static void ipw_irq_tasklet(struct ipw_priv *priv) inta = ipw_read32(priv, IPW_INTA_RW); inta_mask = ipw_read32(priv, IPW_INTA_MASK_R); + + if (inta == 0xFFFFFFFF) { + /* Hardware disappeared */ + IPW_WARNING("TASKLET INTA == 0xFFFFFFFF\n"); + /* Only handle the cached INTA values */ + inta = 0; + } inta &= (IPW_INTA_MASK_ALL & inta_mask); /* Add any cached INTA values that need to be handled */