static void
ramips_phy_start(struct raeth_priv *re)
{
+ unsigned long flags;
+
if (re->phy_dev) {
phy_start(re->phy_dev);
} else {
+ spin_lock_irqsave(&re->phy_lock, flags);
re->link = 1;
ramips_link_adjust(re);
+ spin_unlock_irqrestore(&re->phy_lock, flags);
}
}
static void
ramips_phy_stop(struct raeth_priv *re)
{
+ unsigned long flags;
+
if (re->phy_dev) {
phy_stop(re->phy_dev);
} else {
+ spin_lock_irqsave(&re->phy_lock, flags);
re->link = 0;
ramips_link_adjust(re);
+ spin_unlock_irqrestore(&re->phy_lock, flags);
}
}
#else