diff options
-rw-r--r-- | drivers/net/sky2.c | 5 | ||||
-rw-r--r-- | include/linux/netdevice.h | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 2253140ff4dc..f56de9894208 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -1961,10 +1961,11 @@ static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs) | |||
1961 | if (status & Y2_IS_STAT_BMU) { | 1961 | if (status & Y2_IS_STAT_BMU) { |
1962 | hw->intr_mask &= ~Y2_IS_STAT_BMU; | 1962 | hw->intr_mask &= ~Y2_IS_STAT_BMU; |
1963 | sky2_write32(hw, B0_IMSK, hw->intr_mask); | 1963 | sky2_write32(hw, B0_IMSK, hw->intr_mask); |
1964 | prefetch(&hw->st_le[hw->st_idx]); | ||
1965 | 1964 | ||
1966 | if (netif_rx_schedule_test(dev0)) | 1965 | if (likely(__netif_rx_schedule_prep(dev0))) { |
1966 | prefetch(&hw->st_le[hw->st_idx]); | ||
1967 | __netif_rx_schedule(dev0); | 1967 | __netif_rx_schedule(dev0); |
1968 | } | ||
1968 | } | 1969 | } |
1969 | 1970 | ||
1970 | if (status & Y2_IS_IRQ_PHY1) | 1971 | if (status & Y2_IS_IRQ_PHY1) |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 07e114d48bbb..7fda03d338d1 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -802,16 +802,16 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) | |||
802 | return (1 << debug_value) - 1; | 802 | return (1 << debug_value) - 1; |
803 | } | 803 | } |
804 | 804 | ||
805 | /* Schedule rx intr now? */ | 805 | /* Test if receive needs to be scheduled */ |
806 | static inline int netif_rx_schedule_test(struct net_device *dev) | 806 | static inline int __netif_rx_schedule_prep(struct net_device *dev) |
807 | { | 807 | { |
808 | return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state); | 808 | return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state); |
809 | } | 809 | } |
810 | 810 | ||
811 | /* Schedule only if device is up */ | 811 | /* Test if receive needs to be scheduled but only if up */ |
812 | static inline int netif_rx_schedule_prep(struct net_device *dev) | 812 | static inline int netif_rx_schedule_prep(struct net_device *dev) |
813 | { | 813 | { |
814 | return netif_running(dev) && netif_rx_schedule_test(dev); | 814 | return netif_running(dev) && __netif_rx_schedule_prep(dev); |
815 | } | 815 | } |
816 | 816 | ||
817 | /* Add interface to tail of rx poll list. This assumes that _prep has | 817 | /* Add interface to tail of rx poll list. This assumes that _prep has |