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

Reply via email to