Re: [PATCH net] net: wwan: mhi_wwan_ctrl: keep DTR drops and resend state when IP_CTRL binds
From: Peter Hunt
Date: Tue Oct 27 2026 - 14:21:37 EST
Thanks for the review. This version is superseded by v2:
https://lore.kernel.org/all/20261027171055.1796482-1-peter.hunt@xxxxxxxxxxxx/
After Loic's review, v2 only flushes dtr_work when DTR goes low and in
stop(). It drops the port list, the drop flag and field, and the late
bind resend. Going through the findings against v2:
[High] Two reads of dtr_mdmbits in the work: gone, v2 leaves the work as
it was in v10, so it reads dtr_mdmbits once.
[High] Drop lost when the low state hits -EAGAIN/-ENOMEM and a raise
follows within the retry delay: this can still happen in v2. The flush
makes the drop go out before ->dtr_rts() returns in the normal case,
but a drop that hits a full UL ring is still retried with whatever
state is latest by then. The v2 commit message says so.
[High] system_wq vs system_percpu_wq: agreed, that was a real problem
in v1. v2 has no mod_delayed_work() calls, it only queues the work with
schedule_delayed_work() as v10 does, and adds flush_delayed_work().
[Medium] Port added to the list after wwan_create_port(), and [Medium]
drop lost while IP_CTRL is unbound: both are in the late bind resend,
which v2 drops. Loic agreed that case, only reachable by unbinding and
rebinding mhi_wwan_dtr through sysfs, can be ignored.
[Low] Stale comments: the comments describe v10's latest-state work,
which v2 keeps, and the drop flush has its own comment.
pw-bot: cr