Commit 62456726d715042e1976b830c59fd73f41c4aaa6

Authored by John Feeney
Committed by Linus Torvalds
1 parent e63340ae6b

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>

Showing 1 changed file with 2 additions and 11 deletions Side-by-side Diff

drivers/edac/i82875p_edac.c
... ... @@ -261,10 +261,6 @@
261 261 i82875p_process_error_info(mci, &info, 1);
262 262 }
263 263  
264   -#ifdef CONFIG_PROC_FS
265   -extern int pci_proc_attach_device(struct pci_dev *);
266   -#endif
267   -
268 264 /* Return 0 on success or 1 on failure. */
269 265 static int i82875p_setup_overfl_dev(struct pci_dev *pdev,
270 266 struct pci_dev **ovrfl_pdev, void __iomem **ovrfl_window)
271 267  
... ... @@ -287,17 +283,12 @@
287 283  
288 284 if (dev == NULL)
289 285 return 1;
  286 +
  287 + pci_bus_add_device(dev);
290 288 }
291 289  
292 290 *ovrfl_pdev = dev;
293 291  
294   -#ifdef CONFIG_PROC_FS
295   - if ((dev->procent == NULL) && pci_proc_attach_device(dev)) {
296   - i82875p_printk(KERN_ERR, "%s(): Failed to attach overflow "
297   - "device\n", __func__);
298   - return 1;
299   - }
300   -#endif /* CONFIG_PROC_FS */
301 292 if (pci_enable_device(dev)) {
302 293 i82875p_printk(KERN_ERR, "%s(): Failed to enable overflow "
303 294 "device\n", __func__);