On Wed, Nov 18, 2009 at 4:14 PM, Patrick Keller <patrick.keller@xxxxxx> wrote: > On Wed, 2009-11-18 at 21:03 +0000, Eric Biederman wrote: >> On Wed, Nov 18, 2009 at 11:39 AM, Patrick Keller <patrick.keller@xxxxxx> wrote: >> > I guess I'm now confused, having seen a working log where after being >> > hotplugged the card in the slot comes back up and the non-working log >> > where everything is broken, the regressed broken state is better? >> >> I may be misreading something but I see a >> ``working'' configuration where no memory address are assign >> to the cards, and a ``non-working'' configuration where at least >> prefetchable memory is assigned. >> >> What I don't see in the ``working'' configuration is anything plugged >> into the hotplug slots. Nothing in bus numbers > 18. > > You're correct, we're actually operating on a non-hotplug slot. In the > working case the driver is able to claim the card, and in the > non-working case the modprobe fails. > >> The failure mode as I see it is actually attempting to hotplug a card >> into those hotplug slots that don't have any resources that >> won't work in either configuration but at least in the second configuration >> you get an error telling you something that is wrong. >> >> What card in the slot are you talking about that comes back up in one and >> fails in the other? All I see is simulated hotplug on non-hotplug slots. > > The test case is exercising the logical hotplug aka. fakephp. Fakephp > and the pci core use the exact same hotplug code. > > Logical hotplug should allow us to remove and readd a device whether it > resides in a hotplug slot or not. I agree that we are not talking about > physical hotplug. > > > Just as a reminder, we're doing a logical remove at the level of > 0000:0b:00.0 and rescanning the entire pci bus, the error we're seeing > is that the QLogic device isn't coming back. Eric, how about change default min_size to 0 ? #define DEFAULT_HOTPLUG_IO_SIZE 0 #define DEFAULT_HOTPLUG_MEM_SIZE 0 /* pci=hpmemsize=nnM,hpiosize=nn can override this */ unsigned long pci_hotplug_io_size = DEFAULT_HOTPLUG_IO_SIZE; unsigned long pci_hotplug_mem_size = DEFAULT_HOTPLUG_MEM_SIZE; and later to use dmi or other quirks way increase those value. YH -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html