To the list: The beginnings of this thread were done off-list, but I want to
let everyone know about
the problem, and to discover if anyone else has it. Since 2.6.23-rc1, Ehud has
a problem in that the
information his interface is transmitting is garbled. He did a bisection and
discovered that the
problem is involved with commit 85a83d26 "bcm43xx-mac80211: Rewrite and
simplify handling of the
initialization status.". Neither Michael nor I can reproduce the problem, nor
is anything obviously
wrong with the patch, other than this patch exposes an error in the location of
the initial
interrupt. I found this error on my old/slow notebook. Fixing that error did
not resolve Ehud's
problem. That fix is now in Linville's tree.
Ehud - please make your test tree current with a 'git checkout -f' command, and
do a 'git pull' to
make certain you have the latest code. Then apply the trial patch below, which
reverts a small part
of Michael's patch, and see if it fixes the problem.
Larry
Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
===================================================================
--- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
+++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
@@ -1503,7 +1503,7 @@ static void bcm43xx_interrupt_ack(struct
/* Interrupt handler top-half */
static irqreturn_t bcm43xx_interrupt_handler(int irq, void *dev_id)
{
- irqreturn_t ret = IRQ_NONE;
+ irqreturn_t ret = IRQ_HANDLED;
struct bcm43xx_wldev *dev = dev_id;
u32 reason;
@@ -1512,12 +1512,11 @@ static irqreturn_t bcm43xx_interrupt_han
spin_lock(&dev->wl->irq_lock);
- if (bcm43xx_status(dev) < BCM43xx_STAT_STARTED)
- goto out;
reason = bcm43xx_read32(dev, BCM43xx_MMIO_GEN_IRQ_REASON);
- if (reason == 0xffffffff) /* shared IRQ */
+ if (reason == 0xffffffff) { /* shared IRQ */
+ ret = IRQ_NONE;
goto out;
- ret = IRQ_HANDLED;
+ }
reason &= bcm43xx_read32(dev, BCM43xx_MMIO_GEN_IRQ_MASK);
if (!reason)
goto out;
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev