Check the return value of pci_hp_register() in Function
ebda_rsrc_controller()
Signed-off-by: Emanuel Bennici <[email protected]>
---
drivers/pci/hotplug/ibmphp_ebda.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/hotplug/ibmphp_ebda.c b/drivers/pci/hotplug/ibmphp_ebda.c
index 11a2661dc062..7e523ce071b3 100644
--- a/drivers/pci/hotplug/ibmphp_ebda.c
+++ b/drivers/pci/hotplug/ibmphp_ebda.c
@@ -896,10 +896,17 @@ static int __init ebda_rsrc_controller(void)
} /* each hpc */
+ int result = 0;
list_for_each_entry(tmp_slot, &ibmphp_slot_head, ibm_slot_list) {
snprintf(name, SLOT_NAME_SIZE, "%s", create_file_name(tmp_slot));
- pci_hp_register(&tmp_slot->hotplug_slot,
- pci_find_bus(0, tmp_slot->bus), tmp_slot->device, name);
+ result = pci_hp_register(&tmp_slot->hotplug_slot,
+ pci_find_bus(0, tmp_slot->bus),
+ tmp_slot->device, name);
+
+ if (result) {
+ err("pci_hp_register failed with error %d\n", result);
+ goto error;
+ }
}
print_ebda_hpc();
--
2.19.1
On Sun, Jun 2, 2019 at 5:30 PM Emanuel Bennici
<[email protected]> wrote:
>
> Check the return value of pci_hp_register() in Function
> ebda_rsrc_controller()
>
Maybe this is correct, maybe not.
You are changing behaviour of the function.
How did you test this?
> Signed-off-by: Emanuel Bennici <[email protected]>
> ---
> drivers/pci/hotplug/ibmphp_ebda.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/hotplug/ibmphp_ebda.c b/drivers/pci/hotplug/ibmphp_ebda.c
> index 11a2661dc062..7e523ce071b3 100644
> --- a/drivers/pci/hotplug/ibmphp_ebda.c
> +++ b/drivers/pci/hotplug/ibmphp_ebda.c
> @@ -896,10 +896,17 @@ static int __init ebda_rsrc_controller(void)
>
> } /* each hpc */
>
> + int result = 0;
> list_for_each_entry(tmp_slot, &ibmphp_slot_head, ibm_slot_list) {
> snprintf(name, SLOT_NAME_SIZE, "%s", create_file_name(tmp_slot));
> - pci_hp_register(&tmp_slot->hotplug_slot,
> - pci_find_bus(0, tmp_slot->bus), tmp_slot->device, name);
> + result = pci_hp_register(&tmp_slot->hotplug_slot,
> + pci_find_bus(0, tmp_slot->bus),
> + tmp_slot->device, name);
> +
> + if (result) {
> + err("pci_hp_register failed with error %d\n", result);
> + goto error;
> + }
> }
>
> print_ebda_hpc();
> --
> 2.19.1
>
--
With Best Regards,
Andy Shevchenko