diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/ec.c | 4 | ||||
-rw-r--r-- | drivers/acpi/scan.c | 7 | ||||
-rw-r--r-- | drivers/acpi/video.c | 2 |
3 files changed, 4 insertions, 9 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index f70796081c4c..8a4897d3899d 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
@@ -232,10 +232,8 @@ static int ec_poll(struct acpi_ec *ec) | |||
232 | } | 232 | } |
233 | advance_transaction(ec, acpi_ec_read_status(ec)); | 233 | advance_transaction(ec, acpi_ec_read_status(ec)); |
234 | } while (time_before(jiffies, delay)); | 234 | } while (time_before(jiffies, delay)); |
235 | if (!ec->curr->irq_count || | 235 | if (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) |
236 | (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF)) | ||
237 | break; | 236 | break; |
238 | /* try restart command if we get any false interrupts */ | ||
239 | pr_debug(PREFIX "controller reset, restart transaction\n"); | 237 | pr_debug(PREFIX "controller reset, restart transaction\n"); |
240 | spin_lock_irqsave(&ec->curr_lock, flags); | 238 | spin_lock_irqsave(&ec->curr_lock, flags); |
241 | start_transaction(ec); | 239 | start_transaction(ec); |
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 468921bed22f..14a7481c97d7 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
@@ -1052,6 +1052,8 @@ static void acpi_device_set_id(struct acpi_device *device) | |||
1052 | device->flags.bus_address = 1; | 1052 | device->flags.bus_address = 1; |
1053 | } | 1053 | } |
1054 | 1054 | ||
1055 | kfree(info); | ||
1056 | |||
1055 | /* | 1057 | /* |
1056 | * Some devices don't reliably have _HIDs & _CIDs, so add | 1058 | * Some devices don't reliably have _HIDs & _CIDs, so add |
1057 | * synthetic HIDs to make sure drivers can find them. | 1059 | * synthetic HIDs to make sure drivers can find them. |
@@ -1325,13 +1327,8 @@ static int acpi_bus_scan(acpi_handle handle, struct acpi_bus_ops *ops, | |||
1325 | struct acpi_device **child) | 1327 | struct acpi_device **child) |
1326 | { | 1328 | { |
1327 | acpi_status status; | 1329 | acpi_status status; |
1328 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; | ||
1329 | void *device = NULL; | 1330 | void *device = NULL; |
1330 | 1331 | ||
1331 | acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); | ||
1332 | printk(KERN_INFO PREFIX "Enumerating devices from [%s]\n", | ||
1333 | (char *) buffer.pointer); | ||
1334 | |||
1335 | status = acpi_bus_check_add(handle, 0, ops, &device); | 1332 | status = acpi_bus_check_add(handle, 0, ops, &device); |
1336 | if (ACPI_SUCCESS(status)) | 1333 | if (ACPI_SUCCESS(status)) |
1337 | acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, | 1334 | acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index a4fddb24476f..f6e54bf8dd96 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -285,7 +285,7 @@ static int acpi_video_device_brightness_open_fs(struct inode *inode, | |||
285 | struct file *file); | 285 | struct file *file); |
286 | static ssize_t acpi_video_device_write_brightness(struct file *file, | 286 | static ssize_t acpi_video_device_write_brightness(struct file *file, |
287 | const char __user *buffer, size_t count, loff_t *data); | 287 | const char __user *buffer, size_t count, loff_t *data); |
288 | static struct file_operations acpi_video_device_brightness_fops = { | 288 | static const struct file_operations acpi_video_device_brightness_fops = { |
289 | .owner = THIS_MODULE, | 289 | .owner = THIS_MODULE, |
290 | .open = acpi_video_device_brightness_open_fs, | 290 | .open = acpi_video_device_brightness_open_fs, |
291 | .read = seq_read, | 291 | .read = seq_read, |