Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753240AbbGOO7K (ORCPT ); Wed, 15 Jul 2015 10:59:10 -0400 Received: from mail-ig0-f173.google.com ([209.85.213.173]:38444 "EHLO mail-ig0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751611AbbGOO7H (ORCPT ); Wed, 15 Jul 2015 10:59:07 -0400 Date: Wed, 15 Jul 2015 09:59:01 -0500 From: Bjorn Helgaas To: Timothy Pearson Cc: Sreekanth Reddy , Yinghai Lu , James Bottomley , martin.petersen@oracle.com, Linux-Scsi , "James E.J. Bottomley" , Sathya.Prakash@avagotech.com, Linux Kernel Mailing List , Christoph Hellwig , "linux-pci@vger.kernel.org" Subject: Re: [PATCH v3] [SCSI] mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected Message-ID: <20150715145901.GU24416@google.com> References: <1436935796-28995-1-git-send-email-Sreekanth.Reddy@avagotech.com> <20150715062456.GB19028@dhcp-135-24-192-118.lsi.com> <55A6658D.6030802@raptorengineeringinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55A6658D.6030802@raptorengineeringinc.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2018 Lines: 43 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 > >> 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/