summaryrefslogtreecommitdiff
path: root/hw/xfree86/common/xf86platformBus.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/common/xf86platformBus.c')
-rw-r--r--hw/xfree86/common/xf86platformBus.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index 15988b8b1..4ceff086c 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -560,22 +560,22 @@ xf86platformRemoveDevice(int index)
if (found)
break;
}
- if (!found) {
- ErrorF("failed to find screen to remove\n");
- goto out;
- }
- xf86GPUScreens[i]->pScreen->CloseScreen(xf86GPUScreens[i]->pScreen);
+ if (found) {
+ xf86GPUScreens[i]->pScreen->CloseScreen(xf86GPUScreens[i]->pScreen);
- RemoveGPUScreen(xf86GPUScreens[i]->pScreen);
- xf86DeleteScreen(xf86GPUScreens[i]);
+ RemoveGPUScreen(xf86GPUScreens[i]->pScreen);
+ xf86DeleteScreen(xf86GPUScreens[i]);
+ }
xf86UnclaimPlatformSlot(&xf86_platform_devices[index], NULL);
xf86_remove_platform_device(index);
- RRResourcesChanged(xf86Screens[0]->pScreen);
- RRTellChanged(xf86Screens[0]->pScreen);
+ if (found) {
+ RRResourcesChanged(xf86Screens[0]->pScreen);
+ RRTellChanged(xf86Screens[0]->pScreen);
+ }
out:
return;
}