Subject: Re: Please pull 'upstream' branch of wireless-2.6

From: Jeff Garzik <[email-masked]>
Date: Mon, 26 Jun 2006 22:06:01 -0400

John W. Linville wrote:
> +	assert(bcm->mac_suspended >= 0);
> +	if (bcm->mac_suspended == 0) {
> +		bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
> +		bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
> +		                bcm43xx_read32(bcm, BCM43xx_MMIO_STATUS_BITFIELD)
> +				& ~BCM43xx_SBF_MAC_ENABLED);
> +		bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read */
> +		for (i = 100000; i; i--) {
> +			tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
> +			if (tmp & BCM43xx_IRQ_READY)
> +				goto out;
> +			udelay(10);
> +		}
> +		printkl(KERN_ERR PFX "MAC suspend failed\n");
>  	}

NAK this super-long delay...  should be done in a workqueue, looks like?

ACK everything else.

	Jeff