mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
Merge branch 'net-macb-fix-close-races-and-rx-refill-error-handling'
Théo Lebrun says: ==================== net: macb: fix close races (and RX refill error handling) The context-swapping series [0] has been ongoing for a while. The most interesting part is a proper hardware shutdown sequence, which is truly lacking in other parts of the MACB driver: at close, at suspend and in the HRESP error task. Instead of introducing that sequence for a new feature, apply it now to fix the main offender, the close path. That fixes the races listed in patch 3 and will allow the sequence to be reused later. The first two patches are also fixes, but not related to the shutdown sequence: they address allocation-failure codepaths. They are sent alongside patch 3 because they touch the same code and would cause merge conflicts if applied separately. Now, let me list issues I'm aware of that we do *not* fix here, to make the scope explicit: - HRESP task should sync with all other contexts. It frees buffers under the feet of the whole driver. The hardware shutdown sequence will help. - Suspend callback is also racy with BH primitives. We'll be able to reuse the hardware shutdown sequence. - Even if we assume tasks are frozen, the phylink ops aren't and might trigger between suspend and resume callbacks. Here we need to (1) early return in phylink ops and (2) at resume put the HW in its proper state according to phylink ops that occured. - Alloc failure codepaths aren't perfect outside open. Hardware and ring buffers are left in a sad state. We can probably do better. [0]: https://lore.kernel.org/all/20260812-macb-context-v9-0-7ddbf5f715e0@bootlin.com/ ==================== Link: https://patch.msgid.link/20260925-macb-close-v2-0-360efa565914@bootlin.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
0737138c55
2 changed files with 112 additions and 28 deletions
Loading…
Add table
Add a link
Reference in a new issue