diff options
| -rw-r--r-- | target/linux/atheros/patches-2.6.37/240-ar231x_netpoll.patch | 31 | 
1 files changed, 31 insertions, 0 deletions
| 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) | 
