drm/nouveau: Check dsm on switcheroo unregister
Currently vga_switcheroo_unregister_handler is called unconditionally when nouveau is unloaded, even when nouveau never registered a handler. This interferes with other switcheroo handlers, as vga_switcheroo doesn't check who called unregister_handler, but simply unregisters the current handler. This patch adds a check so unregister is only called if a handler was registered by nouveau before. Signed-off-by: Andreas Heider <andreas@meetr.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
42eddbd7b2
commit
2f3787aa43
|
@ -338,7 +338,8 @@ void nouveau_switcheroo_optimus_dsm(void)
|
|||
|
||||
void nouveau_unregister_dsm_handler(void)
|
||||
{
|
||||
vga_switcheroo_unregister_handler();
|
||||
if (nouveau_dsm_priv.optimus_detected || nouveau_dsm_priv.dsm_detected)
|
||||
vga_switcheroo_unregister_handler();
|
||||
}
|
||||
|
||||
/* retrieve the ROM in 4k blocks */
|
||||
|
|
Loading…
Reference in New Issue