jamal wrote:
Tommy,
I wasnt sure why you did:
dev->qdisc = &noop_qdisc;
You should probably save the old qdisc in qdisc_sleeping instead
and restore it on wakeup - otherwise you always end with default qdisc.
I think normally we will have qdisc == qdisc_sleeping. At least this
is how I read the code in dev_graft_qdisc(). When can they differ?
check_carrier should probably just call dev_activate which does all you
wanted, no?
I copied the logic from dev_deactivate(), but I didn't want to include
the waiting parts, since this is not in process context. OK?
-Tommy
|