On Tue, Dec 13, 2005 at 12:43:28AM +0000, Andy Fleming wrote: > >>On Mon, Dec 12, 2005 at 11:54:06AM -0700, Dale Farnsworth wrote: > >> > >>>+#ifdef CONFIG_NET_POLL_CONTROLLER > >>>+/* > >>>+ * Polling - used by netconsole and other diagnostic tools > >>>+ * to allow network i/o with interrupts disabled. > >>>+ */ > >>>+static void gfar_netpoll(struct net_device *dev) > >>>+{ > >>>+ struct gfar_private *priv = netdev_priv(dev); > >>>+ > >>>+ if (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_MULTI_INTR) { > >>>+ disable_irq(priv->interruptReceive); > >>>+ disable_irq(priv->interruptTransmit); > >>>+ disable_irq(priv->interruptError); > >>>+ gfar_interrupt(priv->interruptTransmit, dev, NULL); > >>>+ enable_irq(priv->interruptError); > >>>+ enable_irq(priv->interruptTransmit); > >>>+ enable_irq(priv->interruptReceive); > >>>+ } else { > >>>+ disable_irq(priv->interruptTransmit); > >>>+ gfar_interrupt(priv->interruptTransmit, dev, NULL); > >>>+ enable_irq(priv->interruptTransmit); > >>>+ } > >>>+} > >>>+#endif > > However, wouldn't it have simpler to mask the bits in the IMASK > register?
Hmm. I think we need to ensure that we're not currently executing one of the interrupt handlers and I don't see any simpler way than calling disable_irq() for each one. -Dale - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html