powerpc/powernv: Handle unknown OPAL errors in opal_nvram_write()
authorNicholas Piggin <npiggin@gmail.com>
Mon, 26 Mar 2018 15:02:33 +0000 (01:02 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Apr 2018 07:36:27 +0000 (09:36 +0200)
commit 741de617661794246f84a21a02fc5e327bffc9ad upstream.

opal_nvram_write currently just assumes success if it encounters an
error other than OPAL_BUSY or OPAL_BUSY_EVENT. Have it return -EIO
on other errors instead.

Fixes: 628daa8d5abf ("powerpc/powernv: Add RTC and NVRAM support plus RTAS fallbacks")
Cc: stable@vger.kernel.org # v3.2+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Acked-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/platforms/powernv/opal-nvram.c

index 9db4398..ba2ff06 100644 (file)
@@ -59,6 +59,10 @@ static ssize_t opal_nvram_write(char *buf, size_t count, loff_t *index)
                if (rc == OPAL_BUSY_EVENT)
                        opal_poll_events(NULL);
        }
+
+       if (rc)
+               return -EIO;
+
        *index += count;
        return count;
 }