[PATCH 07/11] pci/hotplug/pnv-php: Improve error msg on power state change failure
Alastair D'Silva
alastair at au1.ibm.com
Tue Sep 10 10:59:49 AEST 2019
On Mon, 2019-09-09 at 17:45 +0200, Frederic Barrat wrote:
> 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 at 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..304bdbcdb77c 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);
>
Reviewed-by: Alastair D'Silva <alastair at d-silva.org>
--
Alastair D'Silva
Open Source Developer
Linux Technology Centre, IBM Australia
mob: 0423 762 819
More information about the Linuxppc-dev
mailing list