Search Linux Wireless

Re: bcm43xx-mac80211: a fix for the shared interrupt problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 29 July 2007 01:58, Larry Finger wrote:
> Michael Buesch wrote:
> > 
> > Ok, seems like we are missing some dummy reads to drain
> > this IRQ. I'll look at this tomorrow.
> > Thanks for tracking this down.
> 
> As we shouldn't get any interrupts until STAT_STARTED is reached, I wondered why interrupts were 
> enabled so early. As far as I can tell, none of the steps from where interrupts are enabled to where 
> STAT_STARTED is set depend on having them enabled; therefore, I tried a patch that delayed the 
> enabling of interrupts until after we had reached STAT_STARTED. It works for all my systems.
> 
> I'm beginning to think that the shared interrupts have nothing to do with the problem, but it is 
> more likely caused by peculiarities in the PCMCIA bridge in my ancient laptop.
> 
> Larry
> 
> Index: wireless-mb/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
> ===================================================================
> --- wireless-mb.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
> +++ wireless-mb/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_main.c
> @@ -3014,13 +3014,13 @@ static int bcm43xx_wireless_core_start(s
>   		       dev->dev->irq);
>   		goto out;
>   	}
> -	bcm43xx_interrupt_enable(dev, dev->irq_savedstate);
>   	bcm43xx_mac_enable(dev);
> 
>   	bcm43xx_periodic_tasks_setup(dev);
> 
>   	ieee80211_start_queues(dev->wl->hw);
>   	bcm43xx_set_status(dev, BCM43xx_STAT_STARTED);
> +	bcm43xx_interrupt_enable(dev, dev->irq_savedstate);
>   	bcmdbg(dev->wl, "Wireless interface started\n");
>   out:
>   	return err;
> 

Yes, that seems to be the correct fix.
Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux