We need to force the previously active device to reprobe its connectors
when we switch in order to allow it to give up connectors that are no
longer in use.

Signed-off-by: Matthew Garrett <matthew.garrett at nebula.com>
---
 drivers/gpu/vga/vga_switcheroo.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c
index 199a111..d380158 100644
--- a/drivers/gpu/vga/vga_switcheroo.c
+++ b/drivers/gpu/vga/vga_switcheroo.c
@@ -429,6 +429,9 @@ static int vga_switchto_stage2(struct vga_switcheroo_client 
*new_client)
        if (new_client->ops->reprobe)
                new_client->ops->reprobe(new_client->pdev);

+       if (active->ops->reprobe)
+               active->ops->reprobe(active->pdev);
+
        if (active->pwr_state == VGA_SWITCHEROO_ON)
                vga_switchoff(active);

-- 
1.8.5.3

Reply via email to