Maybe an alternative would be not to temorarily suspend the watchdog,
but to allow for temorarily increasing the timeout value. e.g.
netif_stop_queue_longer(dev, jiffies+new_timeout);
or
netif_change_timeout(dev,new_timeout);
or just
dev->watchdog_timeo = new_timeout;
(is dynamically changing the timeout value officially allowed? Even from
interrupt context?)
When doing demand-dialing, we could temporarily increase the timeout value
appropriately, while the watchdog keeps fulfilling its duties and might
even reveil problems related to failed demand dialing. When the demand
dial connection is up, we would reset the watchdog timeout to its default
value before we call netif_wake_queue().
Henner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/