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 <fbar...@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 <alast...@d-silva.org>

-- 
Alastair D'Silva
Open Source Developer
Linux Technology Centre, IBM Australia
mob: 0423 762 819

Reply via email to