On 01/13/2017 02:37 PM, Florian Fainelli wrote: > On 01/13/2017 06:04 AM, Andrew Lunn wrote: >>> index cd91070b5467..d326fc4afad7 100644 >>> --- a/net/dsa/dsa2.c >>> +++ b/net/dsa/dsa2.c >>> @@ -81,17 +81,23 @@ static void dsa_dst_del_ds(struct dsa_switch_tree *dst, >>> >>> static bool dsa_port_is_valid(struct dsa_port *port) >>> { >>> - return !!port->dn; >>> + return !!(port->dn || port->name); >>> } >> >> Does this clash with Viviens recent change to make names optional and >> have the kernel assign it? > > So there were two ways to look at this, one was that could check here > that ds->pd is assigned and port->name is assigned, which means that > platform data has to provide valid port name. We can also eliminate this > check entirely because we now support NULL names just fines.
Considering that the comment above struct dsa_chip_data::port_names in net/dsa/dsa.h is pretty clear about the port_names usage, I am tempted to keep the code as-is since without a name, for platform data, we would not have a way to tell if a port is disabled or not. Does that work for you? -- Florian