[PATCH net v3 0/2] nfc: trf7970a: fix lifetime ordering around IRQ setup and teardown

Fan Wu posted 2 patches 2 months ago
drivers/nfc/trf7970a.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
[PATCH net v3 0/2] nfc: trf7970a: fix lifetime ordering around IRQ setup and teardown
Posted by Fan Wu 2 months ago
Two lifetime-ordering fixes for the trf7970a NFC digital driver.

Patch 1 sets up the lock and timeout work before the threaded IRQ is
registered, and moves the lock to devm_mutex_init() so its teardown is
part of the devres lifetime.

Patch 2 depends on patch 1 and drains the timeout work across removal:
it marks a running handler to skip completion, handles LISTENING_MD in
shutdown, and cancels the work after the digital core stops issuing
commands and before the digital device is freed.

These were previously sent as standalone patches. Per review feedback
from Simon Horman they are respun as a series.

---

v3:
  - Respun as a 2-patch series with an explicit dependency.
  - Patch 1: switch to devm_mutex_init(); remove the explicit
    mutex_destroy() calls and the now-empty err_destroy_lock label.
  - Patch 2: set ignore_timeout before send_err_upstream; handle
    TRF7970A_ST_LISTENING_MD in shutdown.
  - Patch 1 was previously sent standalone.

init-order v1: https://lore.kernel.org/netdev/20260728031021.230831-1-fanwu01@zju.edu.cn/
teardown v2:   https://lore.kernel.org/netdev/20260728030716.230626-1-fanwu01@zju.edu.cn/
teardown v1:   https://lore.kernel.org/netdev/20260721133539.3195899-1-fanwu01@zju.edu.cn/


Fan Wu (2):
  nfc: trf7970a: set up lock and timeout work before requesting IRQ
  nfc: trf7970a: quiesce timeout work before teardown

 drivers/nfc/trf7970a.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

-- 
2.34.1
Re: [PATCH net v3 0/2] nfc: trf7970a: fix lifetime ordering around IRQ setup and teardown
Posted by Simon Horman 1 month, 3 weeks ago
On Sat, Aug 01, 2026 at 05:10:56AM +0000, Fan Wu wrote:
> Two lifetime-ordering fixes for the trf7970a NFC digital driver.
> 
> Patch 1 sets up the lock and timeout work before the threaded IRQ is
> registered, and moves the lock to devm_mutex_init() so its teardown is
> part of the devres lifetime.
> 
> Patch 2 depends on patch 1 and drains the timeout work across removal:
> it marks a running handler to skip completion, handles LISTENING_MD in
> shutdown, and cancels the work after the digital core stops issuing
> commands and before the digital device is freed.
> 
> These were previously sent as standalone patches. Per review feedback
> from Simon Horman they are respun as a series.
> 
> ---
> 
> v3:
>   - Respun as a 2-patch series with an explicit dependency.
>   - Patch 1: switch to devm_mutex_init(); remove the explicit
>     mutex_destroy() calls and the now-empty err_destroy_lock label.
>   - Patch 2: set ignore_timeout before send_err_upstream; handle
>     TRF7970A_ST_LISTENING_MD in shutdown.
>   - Patch 1 was previously sent standalone.
> 
> init-order v1: https://lore.kernel.org/netdev/20260728031021.230831-1-fanwu01@zju.edu.cn/
> teardown v2:   https://lore.kernel.org/netdev/20260728030716.230626-1-fanwu01@zju.edu.cn/
> teardown v1:   https://lore.kernel.org/netdev/20260721133539.3195899-1-fanwu01@zju.edu.cn/

For the series:

Reviewed-by: Simon Horman <horms@kernel.org>