diff options
Diffstat (limited to 'drivers/acpi/scan.c')
| -rw-r--r-- | drivers/acpi/scan.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 1331756d4cfc..5ffd87ac42b3 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -477,7 +477,8 @@ static void acpi_device_del(struct acpi_device *device)  	list_for_each_entry(acpi_device_bus_id, &acpi_bus_id_list, node)  		if (!strcmp(acpi_device_bus_id->bus_id,  			    acpi_device_hid(device))) { -			ida_simple_remove(&acpi_device_bus_id->instance_ida, device->pnp.instance_no); +			ida_free(&acpi_device_bus_id->instance_ida, +				 device->pnp.instance_no);  			if (ida_is_empty(&acpi_device_bus_id->instance_ida)) {  				list_del(&acpi_device_bus_id->node);  				kfree_const(acpi_device_bus_id->bus_id); @@ -642,7 +643,7 @@ static int acpi_device_set_name(struct acpi_device *device,  	struct ida *instance_ida = &acpi_device_bus_id->instance_ida;  	int result; -	result = ida_simple_get(instance_ida, 0, ACPI_MAX_DEVICE_INSTANCES, GFP_KERNEL); +	result = ida_alloc(instance_ida, GFP_KERNEL);  	if (result < 0)  		return result; @@ -1377,11 +1378,11 @@ static void acpi_set_pnp_ids(acpi_handle handle, struct acpi_device_pnp *pnp,  		if (info->valid & ACPI_VALID_HID) {  			acpi_add_id(pnp, info->hardware_id.string);  			pnp->type.platform_id = 1; -			if (info->valid & ACPI_VALID_CID) { -				cid_list = &info->compatible_id_list; -				for (i = 0; i < cid_list->count; i++) -					acpi_add_id(pnp, cid_list->ids[i].string); -			} +		} +		if (info->valid & ACPI_VALID_CID) { +			cid_list = &info->compatible_id_list; +			for (i = 0; i < cid_list->count; i++) +				acpi_add_id(pnp, cid_list->ids[i].string);  		}  		if (info->valid & ACPI_VALID_ADR) {  			pnp->bus_address = info->address; |