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