/* Before accessing the Control_Status_Block, we must lock SUTRO first. On the other hand, to prevent SUTRO from malfunctioning, we must unlock the SUTRO as soon as possible.  */
static irqreturn_t wl3501_interrupt(int irq, void *dev_id)
/* Before accessing the Control_Status_Block, we must lock SUTRO first. On the other hand, to prevent SUTRO from malfunctioning, we must unlock the SUTRO as soon as possible.  */
static irqreturn_t wl3501_interrupt(int irq, void *dev_id)
{
	struct net_device *dev = dev_id;
	struct wl3501_card *this;
	this = netdev_priv(dev);
	spin_lock(&this->lock);
	wl3501_ack_interrupt(this);
	wl3501_block_interrupt(this);
	wl3501_rx_interrupt(dev);
	wl3501_unblock_interrupt(this);
	spin_unlock(&this->lock);
	return IRQ_HANDLED;
}