summaryrefslogtreecommitdiffstats
path: root/abs/core/ipw3945/lockup.patch
blob: 993fbbc4ef9daa941383866db52a16d99337ac53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Fix potential driver lockup problem

Since we have already store the inta to priv->isr_inta in the
interrupt handler we don't need to get it from the hardware again
in the tasklet. Some people find ipw3945-1.2.1 still didn't
resolve the boot lockup problem as reported in bugzilla #1096.

If you still find the lockup problem in ipw3945-1.2.1, please try
this patch and report if it resolves your problem or not to
yi.zhu@intel.com.

Thanks to Egon for providing this patch!

Signed-off-by: Egon <anannatrak@yahoo.it>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
--

--- a/ipw3945.c	2007-04-11 14:46:58.000000000 +0800
+++ b/ipw3945.c	2007-05-14 15:55:56.000000000 +0800
@@ -2769,8 +2769,8 @@ static void ipw_irq_tasklet(struct ipw_p
 
 	spin_lock_irqsave(&priv->lock, flags);
 
-	inta = ipw_read32(priv, CSR_INT);
-	inta_mask = ipw_read32(priv, CSR_INT_MASK);
+	inta = 0;
+	inta_mask = 0;
 	ipw_write32(priv, CSR_INT, inta);
 	inta &= (CSR_INI_SET_MASK & inta_mask);