diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index f1ebeb5..3733cd4 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -2123,6 +2123,13 @@ out: return IRQ_HANDLED; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void happy_meal_poll_controller(struct net_device *dev) +{ + happy_meal_interrupt(dev->irq, dev); +} +#endif + #ifdef CONFIG_SBUS static irqreturn_t quattro_sbus_interrupt(int irq, void *cookie) { @@ -2760,6 +2767,9 @@ static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe) dev->tx_timeout = &happy_meal_tx_timeout; dev->watchdog_timeo = 5*HZ; dev->ethtool_ops = &hme_ethtool_ops; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = happy_meal_poll_controller; +#endif /* Happy Meal can do it all... */ dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM; @@ -3089,6 +3099,9 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev, dev->ethtool_ops = &hme_ethtool_ops; dev->irq = pdev->irq; dev->dma = 0; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = happy_meal_poll_controller; +#endif /* Happy Meal can do it all... */ dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM;