Re: [PATCH/RFA] sch_generic: fix carrier-on bug?
From: David Miller
Date: Thu Oct 18 2007 - 02:26:13 EST
From: Jeff Garzik <jeff@xxxxxxxxxx>
Date: Tue, 16 Oct 2007 17:55:55 -0400
> While looking at a net driver with the following construct,
>
> if (!netif_carrier_ok(dev))
> netif_carrier_on(dev);
>
> it stuck me that the netif_carrier_ok() check was redundant, since
> netif_carrier_on() checks bit __LINK_STATE_NOCARRIER anyway. This is
> the same reason why netif_queue_stopped() need not be called prior to
> netif_wake_queue().
>
> This is true, but there is however an unwanted side effect from assuming
> that netif_carrier_on() can be called multiple times: it touches the
> watchdog, regardless of pre-existing carrier state.
>
> The fix: move watchdog-up inside the bit-cleared code path.
>
> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
I see no problems with this patch, I'll apply it, thanks!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/