From ba4f7f5014dd20a02b7357dd1de84b7498d4042d Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Mon, 13 Sep 2010 09:05:15 +1000 Subject: [PATCH] nouveau: fix oops in acpi edid support --- drm-nouveau-acpi-edid-fix.patch | 29 +++++++++++++++++++++++++++++ kernel.spec | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 drm-nouveau-acpi-edid-fix.patch diff --git a/drm-nouveau-acpi-edid-fix.patch b/drm-nouveau-acpi-edid-fix.patch new file mode 100644 index 000000000..52c6662ac --- /dev/null +++ b/drm-nouveau-acpi-edid-fix.patch @@ -0,0 +1,29 @@ +From 3a25c2ea8bd898dff218ef8baa09ea1f05a60b48 Mon Sep 17 00:00:00 2001 +From: Ben Skeggs +Date: Fri, 10 Sep 2010 15:33:11 +1000 +Subject: [PATCH] drm/nouveau: we can't free ACPI EDID, so make a copy that we can + +The rest of the connector code assumes we can kfree() the EDID pointer. +This causes things to blow up with the ACPI EDID pointer we get +passed. + +Signed-off-by: Ben Skeggs +--- + drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c +index c17a055..1191526 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c ++++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c +@@ -292,6 +292,6 @@ nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) + if (ret < 0) + return ret; + +- nv_connector->edid = edid; ++ nv_connector->edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL); + return 0; + } +-- +1.7.2.2 + diff --git a/kernel.spec b/kernel.spec index f1f4f1c63..a0219583b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -707,6 +707,7 @@ Patch1825: drm-intel-make-lvds-work.patch Patch1826: drm-radeon-resume-fixes.patch Patch1830: drm-i915-explosion-following-oom-in-do_execbuffer.patch Patch1900: linux-2.6-intel-iommu-igfx.patch +Patch1901: drm-nouveau-acpi-edid-fix.patch # radeon # linux1394 git patches @@ -1372,6 +1373,7 @@ ApplyPatch drm-nouveau-updates.patch ApplyPatch drm-nouveau-race-fix.patch ApplyPatch drm-nouveau-nva3-noaccel.patch ApplyPatch drm-nouveau-nv50-crtc-update-delay.patch +ApplyPatch drm-nouveau-acpi-edid-fix.patch ApplyPatch drm-intel-big-hammer.patch ApplyOptionalPatch drm-intel-next.patch