On Friday 02 March 2007 18:36, Larry Finger wrote:
> From: Pavel Roskin <[EMAIL PROTECTED]>
>
> In the bcm43xx interrupt handler, sanity checks are wrongly done before the
> verification that the interrupt is for the bcm43xx.
>
> Signed-off-by: Pavel Roskin <[EMAIL PROTECTED]>
> Signed-off-by: Larry Finger <[EMAIL PROTECTED]>
ACK, I'm sorry for this really stupid bug. ;)
> ---
>
> drivers/net/wireless/bcm43xx/bcm43xx_main.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> index 057541f..21d4ecd 100644
> --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> @@ -1858,9 +1858,6 @@ static irqreturn_t bcm43xx_interrupt_handler(int irq,
> void *dev_id)
>
> spin_lock(&bcm->irq_lock);
>
> - assert(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED);
> - assert(bcm->current_core->id == BCM43xx_COREID_80211);
> -
> reason = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
> if (reason == 0xffffffff) {
> /* irq not for us (shared irq) */
> @@ -1871,6 +1868,9 @@ static irqreturn_t bcm43xx_interrupt_handler(int irq,
> void *dev_id)
> if (!reason)
> goto out;
>
> + assert(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED);
> + assert(bcm->current_core->id == BCM43xx_COREID_80211);
> +
> bcm->dma_reason[0] = bcm43xx_read32(bcm, BCM43xx_MMIO_DMA0_REASON)
> & 0x0001DC00;
> bcm->dma_reason[1] = bcm43xx_read32(bcm, BCM43xx_MMIO_DMA1_REASON)
>
> ---
>
>
>
--
Greetings Michael.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev