When the ocelot driver was migrated to phylink, e6e12df625f2 ("net:
mscc: ocelot: convert to phylink") there were two additional writes to
registers that became stale. One write was to DEV_CLOCK_CFG and one was
to ANA_PFC_PCF_CFG.
Both of these writes referenced the variable "speed" which originally
was set to OCELOT_SPEED_{10,100,1000,2500}. These macros expand to
values of 3, 2, 1, or 0, respectively. After the update, the variable
speed is set to SPEED_{10,100,1000,2500} which expand to 10, 100, 1000,
and 2500. So invalid values were getting written to the two registers,
which would lead to either a lack of functionality or undefined
funcationality.
Fixing these values was the intent of v1 of this patch set - submitted
as "[PATCH v1 net] net: ethernet: mscc: ocelot: bug fix when writing MAC
speed"
During that review it was determined that both writes were actually
unnecessary. DEV_CLOCK_CFG is a duplicate write, so can be removed
entirely. This was accidentally submitted as as a new, lone patch titled
"[PATCH v1 net] net: mscc: ocelot: remove buggy duplicate write to
DEV_CLOCK_CFG". This is part of what is considered v2 of this patch set.
Additionally, the write to ANA_PFC_PFC_CFG is also unnecessary. Priority
flow contol is disabled, so configuring it is useless and should be
removed. This was also submitted as a new, lone patch titled "[PATCH v1
net] net: mscc: ocelot: remove buggy and useless write to ANA_PFC_PFC_CFG".
This is the rest of what is considered v2 of this patch set.
v3
Identical to v2, but fixes the patch numbering to v3 and submitting the
two changes as a patch set.
v2
Note: I misunderstood and submitted two new "v1" patches instead of a
single "v2" patch set.
- Remove the buggy writes altogher
Colin Foster (2):
net: mscc: ocelot: remove buggy and useless write to ANA_PFC_PFC_CFG
net: mscc: ocelot: remove buggy duplicate write to DEV_CLOCK_CFG
drivers/net/ethernet/mscc/ocelot.c | 10 ----------
1 file changed, 10 deletions(-)
--
2.25.1
Hello:
This series was applied to netdev/net.git (refs/heads/master):
On Fri, 17 Sep 2021 08:39:03 -0700 you wrote:
> When the ocelot driver was migrated to phylink, e6e12df625f2 ("net:
> mscc: ocelot: convert to phylink") there were two additional writes to
> registers that became stale. One write was to DEV_CLOCK_CFG and one was
> to ANA_PFC_PCF_CFG.
>
> Both of these writes referenced the variable "speed" which originally
> was set to OCELOT_SPEED_{10,100,1000,2500}. These macros expand to
> values of 3, 2, 1, or 0, respectively. After the update, the variable
> speed is set to SPEED_{10,100,1000,2500} which expand to 10, 100, 1000,
> and 2500. So invalid values were getting written to the two registers,
> which would lead to either a lack of functionality or undefined
> funcationality.
>
> [...]
Here is the summary with links:
- [v3,net,1/2] net: mscc: ocelot: remove buggy and useless write to ANA_PFC_PFC_CFG
https://git.kernel.org/netdev/net/c/163957c43d96
- [v3,net,2/2] net: mscc: ocelot: remove buggy duplicate write to DEV_CLOCK_CFG
https://git.kernel.org/netdev/net/c/ba68e9941984
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html