Re: [PATCH net-next] net: dsa: mv88e6xxx: assert SMI lock

From: Andrew Lunn
Date: Fri Oct 30 2015 - 17:01:52 EST


> > > static int _mv88e6xxx_reg_read(struct dsa_switch *ds, int addr, int reg)
> > > {
> > > - struct mii_bus *bus = dsa_host_dev_to_mii_bus(ds->master_dev);
> > > + struct mii_bus *bus;
> > > int ret;
> > >
> > > + assert_smi_lock(ds);
> > > +
> > > + bus = dsa_host_dev_to_mii_bus(ds->master_dev);
> >
> > Is this change of when bus is assigned actually required?
>
> No, but I found not necessary to issue this "mdio_bus" lookup if the
> lock is not held (see net/dsa/dsa.c:555). Do you prefer not to do that?

You are optimising for an error condition. If this optimisation saves
anything, it means we have a locking bug!

As a separate patch, i would do this lookup once in a setup function
and save it away in ps. We just need to watch out for the probe
register accesses.

> Also are you OK with removing all the "Must be called with..." comments,

Yes, it will become a lot more clear when the kernel outputs a stack dump!

Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/