Message ID | 20140410221704.GA22465@beardog.cce.hp.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Thu, 2014-04-10 at 17:17 -0500, scameron@beardog.cce.hp.com wrote: > Without this, you'll see a null pointer dereference in > hpsa_enter_performant_mode(). So I'm not surprised that this patch doesn't solve the problem I am seeing with DMAR and the hpsa driver hard lockup. In any case it should address Baoquan's original report, so it confirms that it is in fact two different sets of issues. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
This patch works for me. Tested-by: Baoquan He <bhe@redhat.com> Thanks Baoquan On 04/10/14 at 05:17pm, scameron@beardog.cce.hp.com wrote: > > Without this, you'll see a null pointer dereference in > hpsa_enter_performant_mode(). > > Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> > --- > drivers/scsi/hpsa.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c > index 8cf4a0c..ef4dfdd 100644 > --- a/drivers/scsi/hpsa.c > +++ b/drivers/scsi/hpsa.c > @@ -7463,6 +7463,10 @@ static void hpsa_put_ctlr_into_performant_mode(struct ctlr_info *h) > if (hpsa_simple_mode) > return; > > + trans_support = readl(&(h->cfgtable->TransportSupport)); > + if (!(trans_support & PERFORMANT_MODE)) > + return; > + > /* Check for I/O accelerator mode support */ > if (trans_support & CFGTBL_Trans_io_accel1) { > transMethod |= CFGTBL_Trans_io_accel1 | > -- > 1.7.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 8cf4a0c..ef4dfdd 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -7463,6 +7463,10 @@ static void hpsa_put_ctlr_into_performant_mode(struct ctlr_info *h) if (hpsa_simple_mode) return; + trans_support = readl(&(h->cfgtable->TransportSupport)); + if (!(trans_support & PERFORMANT_MODE)) + return; + /* Check for I/O accelerator mode support */ if (trans_support & CFGTBL_Trans_io_accel1) { transMethod |= CFGTBL_Trans_io_accel1 |
Without this, you'll see a null pointer dereference in hpsa_enter_performant_mode(). Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> --- drivers/scsi/hpsa.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)