Enhance asus-wmi drvier to use hotplug-safe iterators to walk PCI buses. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx> Cc: Corentin Chary <corentin.chary@xxxxxxxxx> Cc: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Cc: acpi4asus-user@xxxxxxxxxxxxxxxxxxxxx Cc: platform-driver-x86@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx --- drivers/platform/x86/asus-wmi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index c11b242..f92db4c 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -596,7 +596,7 @@ static bool asus_wlan_rfkill_blocked(struct asus_wmi *asus) static void asus_rfkill_hotplug(struct asus_wmi *asus) { struct pci_dev *dev; - struct pci_bus *bus; + struct pci_bus *bus = NULL; bool blocked; bool absent; u32 l; @@ -611,7 +611,7 @@ static void asus_rfkill_hotplug(struct asus_wmi *asus) rfkill_set_sw_state(asus->wlan.rfkill, blocked); if (asus->hotplug_slot) { - bus = pci_find_bus(0, 1); + bus = pci_get_bus(0, 1); if (!bus) { pr_warn("Unable to find PCI bus 1?\n"); goto out_unlock; @@ -657,6 +657,7 @@ static void asus_rfkill_hotplug(struct asus_wmi *asus) out_unlock: mutex_unlock(&asus->hotplug_lock); + pci_bus_put(bus); } static void asus_rfkill_notify(acpi_handle handle, u32 event, void *data) @@ -748,7 +749,7 @@ static void asus_hotplug_work(struct work_struct *work) static int asus_setup_pci_hotplug(struct asus_wmi *asus) { int ret = -ENOMEM; - struct pci_bus *bus = pci_find_bus(0, 1); + struct pci_bus *bus = pci_get_bus(0, 1); if (!bus) { pr_err("Unable to find wifi PCI bus\n"); @@ -782,6 +783,7 @@ static int asus_setup_pci_hotplug(struct asus_wmi *asus) pr_err("Unable to register hotplug slot - %d\n", ret); goto error_register; } + pci_bus_put(bus); return 0; @@ -793,6 +795,7 @@ error_info: error_slot: destroy_workqueue(asus->hotplug_workqueue); error_workqueue: + pci_bus_put(bus); return ret; } -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html