Protect access to I/O registers in ast and mgag200 via lock. Commit- tail functions and get-modes operations use the same registers and can interfere with each other. This can result in failed mode-setting operations. As both drivers use fully managed cleanup, the patchset adds a new helper that initializes a mutex with auto-cleanup. Thomas Zimmermann (3): drm: Add DRM-managed mutex_init() drm/ast: Protect concurrent access to I/O registers with lock drm/mgag200: Protect concurrent access to I/O registers with lock drivers/gpu/drm/ast/ast_drv.h | 1 + drivers/gpu/drm/ast/ast_main.c | 4 +++ drivers/gpu/drm/ast/ast_mode.c | 48 ++++++++++++++++++++++++-- drivers/gpu/drm/drm_managed.c | 27 +++++++++++++++ drivers/gpu/drm/mgag200/mgag200_drv.c | 6 ++++ drivers/gpu/drm/mgag200/mgag200_drv.h | 1 + drivers/gpu/drm/mgag200/mgag200_mode.c | 14 ++++++++ include/drm/drm_managed.h | 3 ++ 8 files changed, 101 insertions(+), 3 deletions(-) base-commit: 3ae2e00290c290713e21118220a817a24b44d39f prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 -- 2.36.0