linux/drivers/net/ethernet/ti/davinci_emac.c
/**
 * emac_irq - EMAC interrupt handler
 * @irq: interrupt number
 * @dev_id: EMAC network adapter data structure ptr
 *
 * EMAC Interrupt handler - we only schedule NAPI and not process any packets
 * here. EVen the interrupt status is checked (TX/RX/Err) in NAPI poll function
 *
 * Returns interrupt handled condition
 */
EMAC interrupt handler
@irq: interrupt number
@dev_id: EMAC network adapter data structure ptr

EMAC Interrupt handler - we only schedule NAPI and not process any packets
here. EVen the interrupt status is checked (TX/RX/Err) in NAPI poll function

Returns interrupt handled condition
EMAC interrupt handler @irq : interrupt number @dev_id : EMAC network adapter data structure ptr EMAC Interrupt handler - we only schedule NAPI and not process any packets here . EVen the interrupt status is checked ( TX / RX / Err ) in NAPI poll function Returns interrupt handled condition
static irqreturn_t emac_irq(int irq, void *dev_id)
{
	struct net_device *ndev = (struct net_device *)dev_id;
	struct emac_priv *priv = netdev_priv(ndev);
	++priv->isr_count;
	if (likely(netif_running(priv->ndev))) {
		emac_int_disable(priv);
		napi_schedule(&priv->napi);
	} else {
	}
	return IRQ_HANDLED;
}
static irqreturn_t emac_irq ( int irq , void * dev_id ) { struct net_device * ndev = ( struct net_device * ) dev_id ; struct emac_priv * priv = netdev_priv ( ndev ) ; ++ priv -> isr_count ; if ( likely ( netif_running ( priv -> ndev ) ) ) { emac_int_disable ( priv ) ; napi_schedule ( & priv -> napi ) ; } else { } return IRQ_HANDLED ; }
emac_irq - EMAC interrupt handler
 @irq: interrupt number
 @dev_id: EMAC network adapter data structure ptr
emac_irq - EMAC interrupt handler @irq : interrupt number @dev_id : EMAC network adapter data structure ptr
/* we are closing down, so dont process anything */