diff options
| author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2026-03-05 00:09:00 +0200 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-03-06 17:48:01 -0800 |
| commit | ce2da643f00af3111f1fffe2adea8506592ef6e5 (patch) | |
| tree | 7369b9c60ee26ecfb5d17d1515e76bfdcb30f9ea /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 976703cae7375898b445fc40d14faf849e916a4b (diff) | |
| download | linux-ce2da643f00af3111f1fffe2adea8506592ef6e5.tar.gz linux-ce2da643f00af3111f1fffe2adea8506592ef6e5.zip | |
net: dsa: sja1105: ensure phylink_replay_link_end() will not be missed
Most errors that can occur in sja1105_static_config_reload() are fatal
(example: fail to communicate with hardware), but not all are.
For example, sja1105_static_config_upload() -> kcalloc() may fail, and
if that happens, we have called phylink_replay_link_begin() but never
phylink_replay_link_end().
Under that circumstance, all port phylink instances are left in a state
where the resolver is stopped with the PHYLINK_DISABLE_REPLAY bit set.
We have effectively disabled link management with no way to recover from
this condition.
Avoid that situation by ensuring phylink_replay_link_begin() is always
paired with phylink_replay_link_end(), regardless of whether we faced
any errors during switch reset, configuration reload and general state
reload.
Fixes: 0b2edc531e0b ("net: dsa: sja1105: let phylink help with the replay of link callbacks")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20260304220900.3865120-3-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
