Thread (9 messages) flat view 9 messages, 4 authors, 2017-10-26

Re: [PATCH net-next 0/2] net: dsa: don't unmask port bitmaps

From: Vivien Didelot <hidden>
Date: 2017-10-23 21:27:00
Also in: lkml

Hi Andrew,

Andrew Lunn [off-list ref] writes:
On Mon, Oct 23, 2017 at 02:17:29PM -0400, Vivien Didelot wrote:
quoted
DSA has several bitmaps to store the type of ports: cpu_port_mask,
dsa_port_mask and enabled_port_mask. But the code is inconsistently
unmasking them.

The legacy code tries to unmask cpu_port_mask and dsa_port_mask but
skips enabled_port_mask.

The new bindings unmasks cpu_port_mask and enabled_port_mask but skips
dsa_port_mask.

In fact there is no need to unmask them because we are in the error
path, and they won't be used after. Instead of fixing the unmasking,
simply remove them.
I'm not looked at the code, travelling and don't have time.
heu, ok.
What happens if the failure is -PROBE_DEFERRED, and it tried again
later. Will these masks be set back to 0? Or will they retain the old
values? I think there is supposed to be symmetry here, so that we undo
what we did, and so the next time we try again, we start from a good
state.
The type of a port is a static information parsed either from device
tree or from platform data. Thus there is no symmetry needed here.

The fact that the unmasking of these bitmaps is currently erroneous also
shows that it is unnecessary.


Thanks,

        Vivien
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help