• Lukas Wunner's avatar
    vga_switcheroo: Add missing locking · 8f12a311
    Lukas Wunner authored
    The following functions iterate over the client list, invoke client
    callbacks or invoke handler callbacks without locking anything at all:
    
    - Introduced by c8e9cf7b ("vga_switcheroo: Add a helper function to
      get the client state"):
      vga_switcheroo_get_client_state()
    
    - Introduced by 0d69704a ("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: default avatarLukas Wunner <lukas@wunner.de>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    8f12a311
vga_switcheroo.c 28.8 KB