diff options
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 5128dd7634cb..cebe677e153b 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -432,8 +432,7 @@ struct net_device | |||
432 | 432 | ||
433 | /* register/unregister state machine */ | 433 | /* register/unregister state machine */ |
434 | enum { NETREG_UNINITIALIZED=0, | 434 | enum { NETREG_UNINITIALIZED=0, |
435 | NETREG_REGISTERING, /* called register_netdevice */ | 435 | NETREG_REGISTERED, /* completed register_netdevice */ |
436 | NETREG_REGISTERED, /* completed register todo */ | ||
437 | NETREG_UNREGISTERING, /* called unregister_netdevice */ | 436 | NETREG_UNREGISTERING, /* called unregister_netdevice */ |
438 | NETREG_UNREGISTERED, /* completed unregister todo */ | 437 | NETREG_UNREGISTERED, /* completed unregister todo */ |
439 | NETREG_RELEASED, /* called free_netdev */ | 438 | NETREG_RELEASED, /* called free_netdev */ |
@@ -505,6 +504,8 @@ struct net_device | |||
505 | 504 | ||
506 | /* class/net/name entry */ | 505 | /* class/net/name entry */ |
507 | struct class_device class_dev; | 506 | struct class_device class_dev; |
507 | /* space for optional statistics and wireless sysfs groups */ | ||
508 | struct attribute_group *sysfs_groups[3]; | ||
508 | }; | 509 | }; |
509 | 510 | ||
510 | #define NETDEV_ALIGN 32 | 511 | #define NETDEV_ALIGN 32 |
@@ -828,21 +829,19 @@ static inline void netif_rx_schedule(struct net_device *dev) | |||
828 | __netif_rx_schedule(dev); | 829 | __netif_rx_schedule(dev); |
829 | } | 830 | } |
830 | 831 | ||
831 | 832 | /* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). | |
832 | static inline void __netif_rx_reschedule(struct net_device *dev, int undo) | 833 | * Do not inline this? |
833 | { | 834 | */ |
834 | dev->quota += undo; | ||
835 | list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list); | ||
836 | __raise_softirq_irqoff(NET_RX_SOFTIRQ); | ||
837 | } | ||
838 | |||
839 | /* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). */ | ||
840 | static inline int netif_rx_reschedule(struct net_device *dev, int undo) | 835 | static inline int netif_rx_reschedule(struct net_device *dev, int undo) |
841 | { | 836 | { |
842 | if (netif_rx_schedule_prep(dev)) { | 837 | if (netif_rx_schedule_prep(dev)) { |
843 | unsigned long flags; | 838 | unsigned long flags; |
839 | |||
840 | dev->quota += undo; | ||
841 | |||
844 | local_irq_save(flags); | 842 | local_irq_save(flags); |
845 | __netif_rx_reschedule(dev, undo); | 843 | list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list); |
844 | __raise_softirq_irqoff(NET_RX_SOFTIRQ); | ||
846 | local_irq_restore(flags); | 845 | local_irq_restore(flags); |
847 | return 1; | 846 | return 1; |
848 | } | 847 | } |