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