Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1184851

Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected

From Bjorn Helgaas <bhelgaas@google.com>
Newsgroups linux.kernel
Subject Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected
Date 2015-07-15 17:00 +0200
Message-ID <pMwka-2xg-19@gated-at.bofh.it> (permalink)
References <pMmXx-5z0-5@gated-at.bofh.it> <pMnAd-6xs-1@gated-at.bofh.it> <pMowj-7Sm-45@gated-at.bofh.it> <pMvxM-1jg-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.reddy@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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no  memory I/O resources detected Yinghai Lu <yinghai@kernel.org> - 2015-07-15 07:40 +0200
  Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no  memory I/O resources detected Sreekanth Reddy <sreekanth.reddy@avagotech.com> - 2015-07-15 08:40 +0200
    Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no  memory I/O resources detected Timothy Pearson <tpearson@raptorengineeringinc.com> - 2015-07-15 16:10 +0200
      Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no  memory I/O resources detected Bjorn Helgaas <bhelgaas@google.com> - 2015-07-15 17:00 +0200

csiph-web