]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
powerpc/powernv: Return for invalid IMC domain
authorAnju T Sudhakar <anju@linux.vnet.ibm.com>
Mon, 20 May 2019 08:57:53 +0000 (14:27 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Jun 2019 06:15:16 +0000 (08:15 +0200)
[ Upstream commit b59bd3527fe3c1939340df558d7f9d568fc9f882 ]

Currently init_imc_pmu() can fail either because we try to register an
IMC unit with an invalid domain (i.e an IMC node not supported by the
kernel) or something went wrong while registering a valid IMC unit. In
both the cases kernel provides a 'Register failed' error message.

For example when trace-imc node is not supported by the kernel, but
skiboot advertises a trace-imc node we print:

  IMC Unknown Device type
  IMC PMU (null) Register failed

To avoid confusion just print the unknown device type message, before
attempting PMU registration, so the second message isn't printed.

Fixes: 8f95faaac56c ("powerpc/powernv: Detect and create IMC device")
Reported-by: Pavaman Subramaniyam <pavsubra@in.ibm.com>
Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
[mpe: Reword change log a bit]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/platforms/powernv/opal-imc.c

index 3d27f02695e41fc5942cf978478d25dcbea46f8b..828f6656f8f745c36316b9c6bca5279fe5628b8e 100644 (file)
@@ -161,6 +161,10 @@ static int imc_pmu_create(struct device_node *parent, int pmu_index, int domain)
        struct imc_pmu *pmu_ptr;
        u32 offset;
 
+       /* Return for unknown domain */
+       if (domain < 0)
+               return -EINVAL;
+
        /* memory for pmu */
        pmu_ptr = kzalloc(sizeof(*pmu_ptr), GFP_KERNEL);
        if (!pmu_ptr)