|
@@ -730,14 +730,14 @@ static int acpi_ec_add(struct acpi_device *device)
|
|
|
static int acpi_ec_remove(struct acpi_device *device, int type)
|
|
|
{
|
|
|
struct acpi_ec *ec;
|
|
|
- struct acpi_ec_query_handler *handler;
|
|
|
+ struct acpi_ec_query_handler *handler, *tmp;
|
|
|
|
|
|
if (!device)
|
|
|
return -EINVAL;
|
|
|
|
|
|
ec = acpi_driver_data(device);
|
|
|
mutex_lock(&ec->lock);
|
|
|
- list_for_each_entry(handler, &ec->list, node) {
|
|
|
+ list_for_each_entry_safe(handler, tmp, &ec->list, node) {
|
|
|
list_del(&handler->node);
|
|
|
kfree(handler);
|
|
|
}
|