Ingo Oeser schrieb:
> > +static void niu_init_xif(struct niu *);
> > +
> > +static int link_status_10g(struct niu *np, int *link_up_p)
> > +{
> > +   unsigned long flags;
> > +   int err, link_up;
> > +
> > +   if (np->link_config.loopback_mode != LOOPBACK_DISABLED)
> > +           return -EINVAL;
> > +
> > +   link_up = 0;
> > +
> > +   spin_lock_irqsave(&np->lock, flags);
> > +
> > +   err = mdio_read(np, np->phy_addr, BCM8704_PMA_PMD_DEV_ADDR,
> > +                   BCM8704_PMD_RCV_SIGDET);
> > +   if (err < 0)
> > +           return err;
> 
> missing spin_unlock_irqsave()?

I mean spin_unlock_irqrestore()

> > +   if (!(err & PMD_RCV_SIGDET_GLOBAL))
> > +           goto out;
> > +
> > +   err = mdio_read(np, np->phy_addr, BCM8704_PCS_DEV_ADDR,
> > +                   BCM8704_PCS_10G_R_STATUS);
> > +   if (err < 0)
> > +           return err;
> missing spin_unlock_irqsave()?

I mean spin_unlock_irqrestore()
 
> > +   if (!(err & PCS_10G_R_STATUS_BLK_LOCK))
> > +           goto out;
> > +
> > +   err = mdio_read(np, np->phy_addr, BCM8704_PHYXS_DEV_ADDR,
> > +                   BCM8704_PHYXS_XGXS_LANE_STAT);
> > +   if (err < 0)
> > +           return err;
> > +
> > +   if (err != (PHYXS_XGXS_LANE_STAT_ALINGED |
> > +               PHYXS_XGXS_LANE_STAT_MAGIC |
> > +               PHYXS_XGXS_LANE_STAT_LANE3 |
> > +               PHYXS_XGXS_LANE_STAT_LANE2 |
> > +               PHYXS_XGXS_LANE_STAT_LANE1 |
> > +               PHYXS_XGXS_LANE_STAT_LANE0))
> > +           goto out;
> > +
> > +   link_up = 1;
> > +   np->link_config.active_speed = SPEED_10000;
> > +   np->link_config.active_duplex = DUPLEX_FULL;
> > +
> > +out:
> > +   spin_unlock_irqrestore(&np->lock, flags);
> > +
> > +   *link_up_p = link_up;
> > +   return 0;
> > +}
> 

Ok, enough for today...

Best Regards

Ingo Oeser
-
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

Reply via email to