On Wed, Jul 15, 2015 at 08:52:13AM -0500, Timothy Pearson wrote: > On 07/15/2015 01:24 AM, Sreekanth Reddy wrote: > > On Tue, Jul 14, 2015 at 10:36:58PM -0700, Yinghai Lu wrote: > >> On Tue, Jul 14, 2015 at 9:49 PM, Sreekanth Reddy > >> <sreekanth.re...@avagotech.com> wrote: > >>> Driver crashes if the BIOS do not set up at least one > >>> memory I/O resource. This failure can happen if the device is too > >>> slow to respond during POST and is missed by the BIOS, but Linux > >>> then detects the device later in the boot process. > >> > >> But pci subsystem should assign resources to those unassigned BAR. > >> > >> Do you mean even kernel can not assign resource to them? or it takes so > >> long for > >> mpt FW to get ready? > > > > This is not an issue from mpt FW. > > > > I have just kept the same description provide by Timothy in his > > initial patch. > > > > But I observe that their may be chance of getting "unable to handle > > kernel NULL pointer dereference" kernel panic if no Memory Resource > > available in the PCI subsystem. So agreed to the Timothy proposal of > > aborting the driver initialization if it doesn't detect any Memory > > resource instead of whole system get into panic state. > > On some systems Linux is unable / unwilling to assign a BAR if the BIOS > does not assign one at startup. I didn't look into the Linux allocator > side of things in much detail, but it is quite possible that Linux is > unaware the device only has partial resources assigned.
There might be a Linux PCI core bug if we don't assign a BAR, although resource assignment can always fail, even in the absence of bugs. But there is definitely a driver bug if it uses ioc->chip when it hasn't been initialized. That's what this patch seems to fix. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/