From d7975e7635f3d12207ef011cfb926a8927ab8818 Mon Sep 17 00:00:00 2001 From: acoul Date: Mon, 28 Mar 2011 12:00:17 +0000 Subject: [PATCH] linux/atheros: add missing netpoll option. (closes #9130) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26331 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.37/240-ar231x_netpoll.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/atheros/patches-2.6.37/240-ar231x_netpoll.patch diff --git a/target/linux/atheros/patches-2.6.37/240-ar231x_netpoll.patch b/target/linux/atheros/patches-2.6.37/240-ar231x_netpoll.patch new file mode 100644 index 000000000..c2f3d26a9 --- /dev/null +++ b/target/linux/atheros/patches-2.6.37/240-ar231x_netpoll.patch @@ -0,0 +1,31 @@ +--- a/drivers/net/ar231x.c ++++ b/drivers/net/ar231x.c +@@ -155,6 +155,18 @@ + #define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args) + #endif + ++#ifdef CONFIG_NET_POLL_CONTROLLER ++static void ++ar231x_netpoll(struct net_device *dev) ++{ ++ unsigned long flags; ++ ++ local_irq_save(flags); ++ ar231x_interrupt(dev->irq, dev); ++ local_irq_restore(flags); ++} ++#endif ++ + static const struct net_device_ops ar231x_ops = { + .ndo_open = ar231x_open, + .ndo_stop = ar231x_close, +@@ -165,6 +177,9 @@ + .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = eth_mac_addr, + .ndo_tx_timeout = ar231x_tx_timeout, ++#ifdef CONFIG_NET_POLL_CONTROLLER ++ .ndo_poll_controller = ar231x_netpoll, ++#endif + }; + + int __init ar231x_probe(struct platform_device *pdev) -- 2.20.1