public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Frederic Barrat <fbarrat@linux•ibm.com>
To: linuxppc-dev@lists•ozlabs.org, andrew.donnellan@au1•ibm.com,
	clombard@linux•ibm.com
Cc: aik@ozlabs•ru, arbab@linux•ibm.com, oohall@gmail•com,
	groug@kaod•org, alastair@au1•ibm.com
Subject: [RFC 07/11] pci/hotplug/pnv-php: Improve error msg on power state change failure
Date: Wed, 19 Jun 2019 15:28:36 +0200	[thread overview]
Message-ID: <20190619132840.27634-8-fbarrat@linux.ibm.com> (raw)
In-Reply-To: <20190619132840.27634-1-fbarrat@linux.ibm.com>

When changing the slot state, if opal hits an error and tells as such
in the asynchronous reply, the warning "Wrong msg" is logged, which is
rather confusing. Instead we can reuse the better message which is
already used when we couldn't submit the asynchronous opal request
initially.

Signed-off-by: Frederic Barrat <fbarrat@linux•ibm.com>
---
 drivers/pci/hotplug/pnv_php.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c
index 5b5cbf1e636d..5cdd2a3a4dd9 100644
--- a/drivers/pci/hotplug/pnv_php.c
+++ b/drivers/pci/hotplug/pnv_php.c
@@ -336,18 +336,19 @@ int pnv_php_set_slot_power_state(struct hotplug_slot *slot,
 	ret = pnv_pci_set_power_state(php_slot->id, state, &msg);
 	if (ret > 0) {
 		if (be64_to_cpu(msg.params[1]) != php_slot->dn->phandle	||
-		    be64_to_cpu(msg.params[2]) != state			||
-		    be64_to_cpu(msg.params[3]) != OPAL_SUCCESS) {
+		    be64_to_cpu(msg.params[2]) != state) {
 			pci_warn(php_slot->pdev, "Wrong msg (%lld, %lld, %lld)\n",
 				 be64_to_cpu(msg.params[1]),
 				 be64_to_cpu(msg.params[2]),
 				 be64_to_cpu(msg.params[3]));
 			return -ENOMSG;
 		}
+		if (be64_to_cpu(msg.params[3]) != OPAL_SUCCESS) {
+			ret = -ENODEV;
+			goto error;
+		}
 	} else if (ret < 0) {
-		pci_warn(php_slot->pdev, "Error %d powering %s\n",
-			 ret, (state == OPAL_PCI_SLOT_POWER_ON) ? "on" : "off");
-		return ret;
+		goto error;
 	}
 
 	if (state == OPAL_PCI_SLOT_POWER_OFF || state == OPAL_PCI_SLOT_OFFLINE)
@@ -356,6 +357,11 @@ int pnv_php_set_slot_power_state(struct hotplug_slot *slot,
 		ret = pnv_php_add_devtree(php_slot);
 
 	return ret;
+
+error:
+	pci_warn(php_slot->pdev, "Error %d powering %s\n",
+		ret, (state == OPAL_PCI_SLOT_POWER_ON) ? "on" : "off");
+	return ret;
 }
 EXPORT_SYMBOL_GPL(pnv_php_set_slot_power_state);
 
-- 
2.21.0


  parent reply	other threads:[~2019-06-19 14:09 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-19 13:28 [RFC 00/11] opencapi: enable card reset and link retraining Frederic Barrat
2019-06-19 13:28 ` [RFC 01/11] powerpc/powernv/ioda: Fix ref count for devices with their own PE Frederic Barrat
2019-06-19 13:28 ` [RFC 02/11] powerpc/powernv/ioda: Protect PE list Frederic Barrat
2019-07-02  6:21   ` Andrew Donnellan
2019-06-19 13:28 ` [RFC 03/11] powerpc/powernv/ioda: set up PE on opencapi device when enabling Frederic Barrat
2019-06-19 13:28 ` [RFC 04/11] powerpc/powernv/ioda: Release opencapi device Frederic Barrat
2019-06-19 13:28 ` [RFC 05/11] powerpc/powernv/ioda: Find opencapi slot for a device node Frederic Barrat
2019-06-19 13:28 ` [RFC 06/11] pci/hotplug/pnv-php: Remove erroneous warning Frederic Barrat
2019-06-19 13:28 ` Frederic Barrat [this message]
2019-06-19 13:28 ` [RFC 08/11] pci/hotplug/pnv-php: Register opencapi slots Frederic Barrat
2019-06-19 13:28 ` [RFC 09/11] pci/hotplug/pnv-php: Relax check when disabling slot Frederic Barrat
2019-07-02  7:36   ` Andrew Donnellan
2019-06-19 13:28 ` [RFC 10/11] pci/hotplug/pnv-php: Wrap warnings in macro Frederic Barrat
2019-06-19 13:28 ` [RFC 11/11] ocxl: Add PCI hotplug dependency to Kconfig Frederic Barrat
2019-07-02  7:33   ` Andrew Donnellan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190619132840.27634-8-fbarrat@linux.ibm.com \
    --to=fbarrat@linux$(echo .)ibm.com \
    --cc=aik@ozlabs$(echo .)ru \
    --cc=alastair@au1$(echo .)ibm.com \
    --cc=andrew.donnellan@au1$(echo .)ibm.com \
    --cc=arbab@linux$(echo .)ibm.com \
    --cc=clombard@linux$(echo .)ibm.com \
    --cc=groug@kaod$(echo .)org \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=oohall@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox