Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62456726 authored by John Feeney's avatar John Feeney Committed by Linus Torvalds
Browse files

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: default avatarAdam 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e63340ae
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -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__);