diff options
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 71caa7d983a3..b649ac7122a5 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
@@ -730,14 +730,14 @@ static int acpi_ec_add(struct acpi_device *device) | |||
730 | static int acpi_ec_remove(struct acpi_device *device, int type) | 730 | static int acpi_ec_remove(struct acpi_device *device, int type) |
731 | { | 731 | { |
732 | struct acpi_ec *ec; | 732 | struct acpi_ec *ec; |
733 | struct acpi_ec_query_handler *handler; | 733 | struct acpi_ec_query_handler *handler, *tmp; |
734 | 734 | ||
735 | if (!device) | 735 | if (!device) |
736 | return -EINVAL; | 736 | return -EINVAL; |
737 | 737 | ||
738 | ec = acpi_driver_data(device); | 738 | ec = acpi_driver_data(device); |
739 | mutex_lock(&ec->lock); | 739 | mutex_lock(&ec->lock); |
740 | list_for_each_entry(handler, &ec->list, node) { | 740 | list_for_each_entry_safe(handler, tmp, &ec->list, node) { |
741 | list_del(&handler->node); | 741 | list_del(&handler->node); |
742 | kfree(handler); | 742 | kfree(handler); |
743 | } | 743 | } |