Oops. There was a mutex handling bug in the code I submitted. I tested all kinds of things, but forgot to enable VLAN, disable it again and /enable it/ /again/. The final step, that I forgot, was of course where it went wrong. Disabling the VLAN never released the mutex.
Attached patch should fix that. Signed-Off by: Peter Lebbing <pe...@digitalbrains.com> --- --- backfire/target/linux/generic-2.6/files/drivers/net/phy/adm6996.c.old 2011-01-09 11:18:18.631976648 +0100 +++ backfire/target/linux/generic-2.6/files/drivers/net/phy/adm6996.c 2011-01-09 11:18:51.035975864 +0100 @@ -431,7 +431,7 @@ if (!priv->enable_vlan && priv->vlan_enabled) { adm6996_disable_vlan(priv); priv->vlan_enabled = 0; - return 0; + goto out; } else if (priv->enable_vlan && !priv->vlan_enabled) { adm6996_enable_vlan(priv); priv->vlan_enabled = 1; @@ -440,6 +440,7 @@ adm6996_apply_port_pvids (priv); adm6996_apply_vlan_filters (priv); +out: mutex_unlock(&priv->reg_mutex); return 0; _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel