Message ID | 1476818337-23685-2-git-send-email-alex.hung@canonical.com |
---|---|
State | New |
Headers | show |
On 18/10/16 20:18, Alex Hung wrote: > Some system supports hybrid graphics and its discrete VGA > does not have any connectors and therefore has no _DOD method. > > BugLink: http://bugs.launchpad.net/bugs/1634607 > > Signed-off-by: Alex Hung <alex.hung@canonical.com> > Reviewed-by: Aaron Lu <aaron.lu@intel.com> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > (cherry picked from commit e34fbbac669de0b7fb7803929d0477f35f6e2833) > Signed-off-by: Alex Hung <alex.hung@canonical.com> > --- > drivers/acpi/acpi_video.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c > index 5fdac39..549cdbe 100644 > --- a/drivers/acpi/acpi_video.c > +++ b/drivers/acpi/acpi_video.c > @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video) > union acpi_object *dod = NULL; > union acpi_object *obj; > > + if (!video->cap._DOD) > + return AE_NOT_EXIST; > + > status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); > if (!ACPI_SUCCESS(status)) { > ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD")); > Upstream cherry pick, solves the problem and it not having the _DOD (Enumerate All Devices Attached to the Display Adapter) makes sense to return AE_NOT_EXIST. Acked-by: Colin Ian King <colin.king@canonical.com>
On Tue, Oct 18, 2016 at 12:18:57PM -0700, Alex Hung wrote: > Some system supports hybrid graphics and its discrete VGA > does not have any connectors and therefore has no _DOD method. > > BugLink: http://bugs.launchpad.net/bugs/1634607 > > Signed-off-by: Alex Hung <alex.hung@canonical.com> > Reviewed-by: Aaron Lu <aaron.lu@intel.com> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > (cherry picked from commit e34fbbac669de0b7fb7803929d0477f35f6e2833) > Signed-off-by: Alex Hung <alex.hung@canonical.com> Applied to xenial.
diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c index 5fdac39..549cdbe 100644 --- a/drivers/acpi/acpi_video.c +++ b/drivers/acpi/acpi_video.c @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video) union acpi_object *dod = NULL; union acpi_object *obj; + if (!video->cap._DOD) + return AE_NOT_EXIST; + status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); if (!ACPI_SUCCESS(status)) { ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));