__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 but only if up */
static inline int netif_rx_schedule_prep(struct net_device *dev)
{
        return netif_running(dev) && __netif_rx_schedule_prep(dev);
}

Dev.c:
int dev_close(struct net_device *dev)
{
        ...
        while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
        /* No hurry. */
         msleep(1);
    }
        ...
}

Test_bit() in dev_close() maybe between the calling of netif_running() and
__netif_rx_schedule_prep() in netif_rx_schedule_prep.



-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to