mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: linas@austin.ibm.com (linas)
To: Greg KH <greg@kroah.com>
Cc: Paul Mackerras <paulus@samba.org>,
	linuxppc64-dev@ozlabs.org, linux-pci@atrey.karlin.mff.cuni.cz,
	linux-kernel@vger.kernel.org, johnrose@austin.ibm.com
Subject: [PATCH] PCI panic on dlpar add (add pci slot to running partition)
Date: Thu, 12 Jan 2006 14:36:25 -0600	[thread overview]
Message-ID: <20060112203625.GU26221@austin.ibm.com> (raw)


Greg, Please apply and forward upstream.

Removing and then adding a PCI slot to a running partition results in
a kernel panic. The current code attempts to add iospace for an entire 
root bus, which is inappropriate, and silently fails.  When a pci device 
tries to use the iospace, a page fault is taken, as the iospace had not
been mapped, and of course the page fault cannot be resolved. 

This only occurs for PCI adapters using pio, which may be why it hadn't 
been seen earlier (this seems to have been broken for a while).
This patch has survived testing of dozens of slot add and removes.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>

Index: linux-2.6.15-git6/drivers/pci/hotplug/rpadlpar_core.c
===================================================================
--- linux-2.6.15-git6.orig/drivers/pci/hotplug/rpadlpar_core.c	2006-01-12 13:54:52.374015674 -0600
+++ linux-2.6.15-git6/drivers/pci/hotplug/rpadlpar_core.c	2006-01-12 13:56:08.191380743 -0600
@@ -152,7 +152,7 @@
 	pcibios_claim_one_bus(dev->bus);
 
 	/* ioremap() for child bus, which may or may not succeed */
-	(void) remap_bus_range(dev->bus);
+	remap_bus_range(dev->subordinate);
 
 	/* Add new devices to global lists.  Register in proc, sysfs. */
 	pci_bus_add_devices(phb->bus);

             reply	other threads:[~2006-01-12 20:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-12 20:36 linas [this message]
2006-01-12 20:45 ` John Rose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060112203625.GU26221@austin.ibm.com \
    --to=linas@austin.ibm.com \
    --cc=greg@kroah.com \
    --cc=johnrose@austin.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®