[PATCH] [V3] net: emaclite: adding MDIO and phy lib support

John Williams john.williams at petalogix.com
Wed Feb 10 09:30:24 EST 2010


Hi John,

Sorry If I'm painting bike-sheds here, just one tiny tweak might be in
order to standardise your mutex_unlock exit path:

> +static int xemaclite_mdio_read(struct mii_bus *bus, int phy_id, int reg)
> +{
> +       struct net_local *lp = bus->priv;
> +       u32 ctrl_reg;
> +       u32 rc;
> +
> +       mutex_lock(&lp->mdio_mutex);
> +
> +       if (xemaclite_mdio_wait(lp)) {
> +               mutex_unlock(&lp->mdio_mutex);
> +               return -ETIMEDOUT;
> +       }

[snip]


> +       if (xemaclite_mdio_wait(lp)) {
> +               mutex_unlock(&lp->mdio_mutex);
> +               return -ETIMEDOUT;
> +       }

[snip]


> +       dev_dbg(&lp->ndev->dev,
> +               "xemaclite_mdio_read(phy_id=%i, reg=%x) == %x\n",
> +               phy_id, reg, rc);
> +
> +       return rc;

Can this be better expressed like this:

my_func() {
  mutex_lock()
..

  if(some error) {
    rc=-ETIMEDOUT;
    goto out_unlock;
  }
  ...

  /* success path */
  rc=0;
..
out_unlock:
  mutex_unlock()
  return rc;
}


Is this style still favoured in driver exit paths?

Thanks,

John
-- 
John Williams, PhD, B.Eng, B.IT
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com  p: +61-7-30090663  f: +61-7-30090663


More information about the Linuxppc-dev mailing list