Skip to content

Commit 307d114

Browse files
jlavinentorvalds
authored andcommitted
i82875p_edac: fix overflow device resource setup
When I do "modprobe i82875p_edac" on my Asus P4C800 MB on kernels 2.6.26 or later, the module load fails due to BAR 0 collision. On 2.6.25 the module loads just fine. The overflow device on the MB seems to be hidden and its resources are not allocated at normal PCI bus init. Log shows the missing resource problem: EDAC DEBUG: i82875p_probe1() PCI: 0000:00:06.0 reg 10 32bit mmio: [fecf0000, fecf0fff] pci 0000:00:06.0: device not available because of BAR 0 [0xfecf0000-0xfecf0fff] collisions EDAC i82875p: i82875p_setup_overfl_dev(): Failed to enable overflow device The patch below fixes this by calling pci_bus_assign_resources() after the overflow device is revealed and added to the bus. With this patch I am again able to load and use the module. Signed-off-by: Jarkko Lavinen <[email protected]> Cc: Doug Thompson <[email protected]> Cc: Jesse Barnes <[email protected]> Cc: Alan Cox <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent bca404a commit 307d114

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/edac/i82875p_edac.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
295295
"%s(): pci_bus_add_device() Failed\n",
296296
__func__);
297297
}
298+
pci_bus_assign_resources(dev->bus);
298299
}
299300

300301
*ovrfl_pdev = dev;

0 commit comments

Comments
 (0)