diff --git a/target/linux/generic-2.6/files/drivers/net/phy/swconfig.c b/target/linux/generic-2.6/files/drivers/net/phy/swconfig.c
index e83e795b8..4ca4ea32f 100644
--- a/target/linux/generic-2.6/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic-2.6/files/drivers/net/phy/swconfig.c
@@ -882,6 +882,7 @@ unregister_switch(struct switch_dev *dev)
 	swconfig_lock();
 	list_del(&dev->dev_list);
 	swconfig_unlock();
+	spin_unlock(&dev->lock);
 }
 EXPORT_SYMBOL_GPL(unregister_switch);