irq_ack: 
static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs){	struct net_device *dev = dev_id;	struct b44 *bp = netdev_priv(dev);	u32 istat, imask;	int handled = 0;	spin_lock(&bp->lock);	istat = br32(bp, B44_ISTAT);	imask = br32(bp, B44_IMASK);	/* ??? What the fuck is the purpose of the interrupt mask	 * ??? register if we have to mask it out by hand anyways?	 */	istat &= imask;	if (istat) {		handled = 1;		if (netif_rx_schedule_prep(dev)) {			/* NOTE: These writes are posted by the readback of			 *       the ISTAT register below.			 */			bp->istat = istat;			__b44_disable_ints(bp);			__netif_rx_schedule(dev);		} else {			printk(KERN_ERR PFX "%s: Error, poll already scheduled\n",			       dev->name);		}		bw32(bp, B44_ISTAT, istat);		br32(bp, B44_ISTAT);	}	spin_unlock(&bp->lock);	return IRQ_RETVAL(handled);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ba5eec9c55ec4be99d21a6ea614003b65d7f37d7/b44.c/buggy/drivers/net/b44.c