[Bug 88927] [Acer Aspire 4820TG] Kernel: trying to unbind memory from uninitialized GART !; EIP is at radeon_gart_unbind+0xca/0xe0 [radeon]()
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sun Feb 8 11:32:32 PST 2015
https://bugs.freedesktop.org/show_bug.cgi?id=88927
--- Comment #3 from tiagdtd-lava at yahoo.de ---
I don't know much about the kernel or the acpiphp driver, but I tried to dig
around in the kernel to fix this bug.
I made a bugfix which works for me.
Somebody who knows about the system should have a look at this solution,
because I'm just guessing.
As far as I can tell everything works great now.
The problem seems to be, that the "slot_no_hotplug" in acpiphp_glue.c doesn't
go deep enough to check the "ignore_hotplug" flag of the radeon device.
I had a look at the remove pci device function and made a patch which does the
same iteration through all devices to check the flags.
This works great for my Laptop and everything is stable now.
This is the patch I came up with:
--- drivers/pci/hotplug/acpiphp_glue.c.orig 2015-02-08 19:30:53.630214885
+0100
+++ drivers/pci/hotplug/acpiphp_glue.c 2015-02-08 19:30:25.534214491 +0100
@@ -559,15 +559,36 @@ static void disable_slot(struct acpiphp_
slot->flags &= (~SLOT_ENABLED);
}
+static bool device_no_hotplug(struct pci_dev *dev)
+{
+ struct pci_bus *bus = dev->subordinate;
+ struct pci_dev *child;
+
+ if (!bus) {
+ return dev->ignore_hotplug;
+ }
+
+ list_for_each_entry(child, &bus->devices, bus_list) {
+ if (device_no_hotplug(child)) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
static bool slot_no_hotplug(struct acpiphp_slot *slot)
{
struct pci_bus *bus = slot->bus;
struct pci_dev *dev;
list_for_each_entry(dev, &bus->devices, bus_list) {
- if (PCI_SLOT(dev->devfn) == slot->device && dev->ignore_hotplug)
- return true;
+ if (PCI_SLOT(dev->devfn) == slot->device) {
+ return device_no_hotplug(dev);
+ }
}
+
return false;
}
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-driver-ati/attachments/20150208/82c61516/attachment.html>
More information about the xorg-driver-ati
mailing list