diff options
| -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 | } |
