[mutter] kms: drmModeGetConnector may fail
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] kms: drmModeGetConnector may fail
- Date: Thu, 15 Aug 2019 20:48:47 +0000 (UTC)
commit 3ccb7cf4b23c9d25a9ced4b6981e9018e52f75a9
Author: Hans de Goede <hdegoede redhat com>
Date: Fri Aug 2 22:48:41 2019 +0200
kms: drmModeGetConnector may fail
drmModeGetConnector may fail and return NULL, this may happen when
a connector is removed underneath us (which can happen with e.g.
DP MST or GPU hot unplug).
Deal with this by skipping the connector when enumerating and by
assuming it is disconnected when checking its connection state.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/713
src/backends/native/meta-kms-connector.c | 2 +-
src/backends/native/meta-kms-impl-device.c | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c
index 70d3336d3..226dd5e71 100644
--- a/src/backends/native/meta-kms-connector.c
+++ b/src/backends/native/meta-kms-connector.c
@@ -456,7 +456,7 @@ meta_kms_connector_read_state (MetaKmsConnector *connector,
g_clear_pointer (&connector->current_state, meta_kms_connector_state_free);
- if (drm_connector->connection != DRM_MODE_CONNECTED)
+ if (!drm_connector || drm_connector->connection != DRM_MODE_CONNECTED)
return;
state = meta_kms_connector_state_new ();
diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c
index 09114ea17..c46d74646 100644
--- a/src/backends/native/meta-kms-impl-device.c
+++ b/src/backends/native/meta-kms-impl-device.c
@@ -209,6 +209,9 @@ init_connectors (MetaKmsImplDevice *impl_device,
drm_connector = drmModeGetConnector (impl_device->fd,
drm_resources->connectors[i]);
+ if (!drm_connector)
+ continue;
+
connector = meta_kms_connector_new (impl_device, drm_connector,
drm_resources);
drmModeFreeConnector (drm_connector);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]