OSDN Git Service

powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Mon, 19 Nov 2018 04:25:17 +0000 (15:25 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:20:43 +0000 (09:20 +0100)
[ Upstream commit c20577014f85f36d4e137d3d52a1f61225b4a3d2 ]

The current implementation of the OPAL_PCI_EEH_FREEZE_STATUS call in
skiboot's NPU driver does not touch the pci_error_type parameter so
it might have garbage but the powernv code analyzes it nevertheless.

This initializes pcierr and fstate to zero in all call sites.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Sam Bobroff <sbobroff@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/platforms/powernv/eeh-powernv.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/powernv/pci.c

index 3c1beae..9dd5b89 100644 (file)
@@ -578,8 +578,8 @@ static void pnv_eeh_get_phb_diag(struct eeh_pe *pe)
 static int pnv_eeh_get_phb_state(struct eeh_pe *pe)
 {
        struct pnv_phb *phb = pe->phb->private_data;
-       u8 fstate;
-       __be16 pcierr;
+       u8 fstate = 0;
+       __be16 pcierr = 0;
        s64 rc;
        int result = 0;
 
@@ -617,8 +617,8 @@ static int pnv_eeh_get_phb_state(struct eeh_pe *pe)
 static int pnv_eeh_get_pe_state(struct eeh_pe *pe)
 {
        struct pnv_phb *phb = pe->phb->private_data;
-       u8 fstate;
-       __be16 pcierr;
+       u8 fstate = 0;
+       __be16 pcierr = 0;
        s64 rc;
        int result;
 
index 326ca62..ee63749 100644 (file)
@@ -605,8 +605,8 @@ static int pnv_ioda_unfreeze_pe(struct pnv_phb *phb, int pe_no, int opt)
 static int pnv_ioda_get_pe_state(struct pnv_phb *phb, int pe_no)
 {
        struct pnv_ioda_pe *slave, *pe;
-       u8 fstate, state;
-       __be16 pcierr;
+       u8 fstate = 0, state;
+       __be16 pcierr = 0;
        s64 rc;
 
        /* Sanity check on PE number */
index 13aef23..db230a3 100644 (file)
@@ -602,8 +602,8 @@ static void pnv_pci_handle_eeh_config(struct pnv_phb *phb, u32 pe_no)
 static void pnv_pci_config_check_eeh(struct pci_dn *pdn)
 {
        struct pnv_phb *phb = pdn->phb->private_data;
-       u8      fstate;
-       __be16  pcierr;
+       u8      fstate = 0;
+       __be16  pcierr = 0;
        unsigned int pe_no;
        s64     rc;