On Mon, Aug 07, 2006 at 09:19:31PM -0400, jamal wrote: > > diff --git a/net/core/dev.c b/net/core/dev.c > index d95e262..977e77e 100644 > --- a/net/core/dev.c > +++ b/net/core/dev.c > @@ -1092,7 +1092,8 @@ static void dev_queue_xmit_nit(struct sk > > void __netif_schedule(struct net_device *dev) > { > - if (!test_and_set_bit(__LINK_STATE_SCHED, &dev->state)) { > + if (!test_bit(__LINK_STATE_QDISC_RUNNING, &dev->state) && > + !test_and_set_bit(__LINK_STATE_SCHED, &dev->state)) { > unsigned long flags; > struct softnet_data *sd;
I'm not sure if this is safe. What if the other side clears QDISC_RUNNING right after you test it here? Wouldn't you miss the schedule altogether? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - 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