On Mon, 2016-12-05 at 13:37 -0800, Dan Williams wrote:
> On Mon, Dec 5, 2016 at 1:27 PM, Vishal Verma <vishal.l.ve...@intel.com
> > wrote:
> > 
> > ACPI DSMs can have an 'extended' status which can be non-zero to
> > convey
> > additional information about the command. In the xlat_status
> > routine,
> > where we translate the command statuses, we were returning an error
> > for
> > a non-zero extended status, even if the primary status indicated
> > success.
> > 
> > Cc: Dan Williams <dan.j.willi...@intel.com>
> > Signed-off-by: Vishal Verma <vishal.l.ve...@intel.com>
> > ---
> >  drivers/acpi/nfit/core.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
> > index 71a7d07..d14f09b 100644
> > --- a/drivers/acpi/nfit/core.c
> > +++ b/drivers/acpi/nfit/core.c
> > @@ -169,7 +169,7 @@ static int xlat_status(void *buf, unsigned int
> > cmd, u32 status)
> >         }
> > 
> >         /* all other non-zero status results in an error */
> > -       if (status)
> > +       if (status & 0xffff)
> >                 return -EIO;
> 
> I don't think this is right, because we have no idea at this point
> whether extended status is fatal or not.
> 
> Each 'case' statement in that 'switch' should be returning 0 if it
> does not see any errors. Because that's the only part of the function
> with per-command knowledge of extended being benign / informational vs
> fatal.

Good point - I was wondering just that.. I'll resend.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to