Issues with lockdep possible deadlock scenarios have been reported when using the coresight configfs interface handling complex configuration, when unloading modules.
These are due to holding the main configuration mutex during configfs register, but taking it later when accessing configfs files.
The patches improve the clean up of configurations and update load and unload of configurations and initialisation of configfs to fix the locking mechanisms.
Applies to coresight/next (5.19-rc2) Tested on DB410c (with patch [0] also applied to fix separate console boot issue).
Fixes: eb2ec49606c2 ("coresight: syscfg: Update load API for config loadable modules") Reported-by: Suzuki Poulose suzuki.poulose@arm.com Signed-off-by: Mike Leach mike.leach@linaro.org
[0] https://lkml.kernel.org/r/20220614124618.2830569-1-suzuki.poulose@arm.com
Changes since v3: Addressed minor issues raised by Suzuki.
Changes since v2: Added additional work to fix load and unload ops after issue recurred due to file access.
Mike Leach (2): coresight: configfs: Fix unload of configurations on module exit coresight: syscfg: Update load and unload operations
.../hwtracing/coresight/coresight-config.h | 2 + .../hwtracing/coresight/coresight-syscfg.c | 299 +++++++++++++++--- .../hwtracing/coresight/coresight-syscfg.h | 13 + 3 files changed, 262 insertions(+), 52 deletions(-)