Fix 82875 PCI setup
The 82875 EDAC driver enables an otherwise-hidden PCI device, but doesn't register it as a PCI device properly. Therefore, the device list in /proc/bus/pci/devices is different than the tree in /sys/bus/pci. This usually manifests as the X server failing to start, since it expects the two lists to be consistent. Signed-off-by: Adam Jackson <ajackson@redhat.com> Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Greg KH <greg@kroah.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Doug Thompson <norsk5@xmission.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e63340ae6b
commit
62456726d7
|
@ -261,10 +261,6 @@ static void i82875p_check(struct mem_ctl_info *mci)
|
|||
i82875p_process_error_info(mci, &info, 1);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
extern int pci_proc_attach_device(struct pci_dev *);
|
||||
#endif
|
||||
|
||||
/* Return 0 on success or 1 on failure. */
|
||||
static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
|
||||
struct pci_dev **ovrfl_pdev, void __iomem **ovrfl_window)
|
||||
|
@ -287,17 +283,12 @@ static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
|
|||
|
||||
if (dev == NULL)
|
||||
return 1;
|
||||
|
||||
pci_bus_add_device(dev);
|
||||
}
|
||||
|
||||
*ovrfl_pdev = dev;
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
if ((dev->procent == NULL) && pci_proc_attach_device(dev)) {
|
||||
i82875p_printk(KERN_ERR, "%s(): Failed to attach overflow "
|
||||
"device\n", __func__);
|
||||
return 1;
|
||||
}
|
||||
#endif /* CONFIG_PROC_FS */
|
||||
if (pci_enable_device(dev)) {
|
||||
i82875p_printk(KERN_ERR, "%s(): Failed to enable overflow "
|
||||
"device\n", __func__);
|
||||
|
|
Loading…
Reference in New Issue