Stefan Rompf wrote: > Am Dienstag 04 Juli 2006 12:07 schrieb Patrick McHardy: > > >>>- new_dev->state = real_dev->state & VLAN_LINK_STATE_MASK; >>>+ new_dev->state = real_dev->state & ~(1<<__LINK_STATE_START); > > >>This introduced a regression by propagating the __LINK_STATE_XOFF flag, >>when the queue of the underlying device is stopped it will be stopped >>for the VLAN device too and never be woken up. Since you changed >>VLAN_LINK_STATE_MASK, I assume the intention was to just add >>__LINK_STATE_DORMANT to the propagated flags and keep using it here? > > > Hm, I did not hit that bug during tests, even though starfire calls > netif_stop_queue() on close. But I don't remember whether I tested added > VLANs while the main interface was ifconfig'ed down.
It hits me whenever I boot with sky2, it seems to need a while before a carrier is detected. > Anyway, is it good to propagate __LINK_STATE_PRESENT then? The same situation > here, add a VLAN while the main interface is "not present", and you are out. > Can you try to revert the quoted part of my patch, I'll rethink which flags > should be copied on device creation. I tried both adding LINK_STATE_XOFF to the negated flags and using VLAN_LINK_STATE_MASK, both as expected solve the problem for me. I have to admit I was wondering about LINK_STATE_PRESENT as well (was going to complain about that too until I noticed it is also set in VLAN_LINK_STATE_MASK). Maybe Ben can tell us the idea behind this? - 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