Forum Discussion
Altera_Forum
Honored Contributor
15 years agoJust glanced through my patch again, this comment may be relevant in my version of alt_sgdma_isr:
static inline void __alt_sgdma_isr(struct net_device *dev,
struct alt_tse_private *tse_priv)
{
tse_sgdma_disable_irq(tse_priv);
if (napi_schedule_prep(&tse_priv->napi)) {
if (netif_msg_intr(tse_priv))
printk(KERN_WARNING "%s: NAPI Starting\n", dev->name);
__napi_schedule(&tse_priv->napi);
} else {
// BUG
// if we get here, we received another irq while processing NAPI
// this seems to happen when there is an rx interrupt and tx interrupt
// in short succession, but does no harm
if (netif_msg_intr(tse_priv))
printk(KERN_WARNING "%s :TSE IRQ Received while IRQs disabled\n",
dev->name);
}
} Maybe I was wrong on "does no harm."