__LINK_STATE_RX_SCHED still exist in kernel 2.6.23.8.
Netdevice.h:
/* Test if receive needs to be scheduled */
static inline int __netif_rx_schedule_prep(struct net_device *dev)
{
return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state);
}
/* Test if receive needs to be scheduled bu
cpu0 calling netif_rx_schedule_prep(), cpu1 calling dev_close():
cpu0: testing __LINK_STATE_START, already set
cpu1: clear__LINK_STATE_START
cpu1: testing __LINK_STATE_RX_SCHED, not set
cpu0: set __LINK_STATE_RX_SCHED
cpu0: enter net poll, ...
when cpu1 return from dev_close(),__LINK_STATE_RX_SCH