vga_switcheroo: Add missing locking
authorLukas Wunner <lukas@wunner.de>
Sun, 23 Aug 2015 21:23:02 +0000 (23:23 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 2 Oct 2015 08:21:13 +0000 (10:21 +0200)
commit8f12a3118f554d2a38cc2c0ea17443d8b041b17f
treec2058c2b7968afbd140ad49fe8f6e33c93a3df9a
parent945ef5bb146e65c58edb866eb0708e98224e54ab
vga_switcheroo: Add missing locking

The following functions iterate over the client list, invoke client
callbacks or invoke handler callbacks without locking anything at all:

- Introduced by c8e9cf7bb240 ("vga_switcheroo: Add a helper function to
  get the client state"):
  vga_switcheroo_get_client_state()

- Introduced by 0d69704ae348 ("gpu/vga_switcheroo: add driver control
  power feature. (v3)"):
  vga_switcheroo_set_dynamic_switch()
  vga_switcheroo_runtime_suspend()
  vga_switcheroo_runtime_resume()
  vga_switcheroo_runtime_resume_hdmi_audio()

Refactor vga_switcheroo_runtime_resume_hdmi_audio() a bit to be able to
release vgasr_mutex immediately after iterating over the client list.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/vga/vga_switcheroo.c