When acpi_bus_get_device fails, the lack of error-handling code may
cause unexpected results.
This patch adds error-handling code after calling acpi_bus_get_device.
Signed-off-by: Zhouyang Jia <[email protected]>
---
drivers/acpi/dock.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index e3fc1f0..02fc134 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -504,7 +504,9 @@ static ssize_t show_docked(struct device *dev,
struct dock_station *dock_station = dev->platform_data;
struct acpi_device *adev = NULL;
- acpi_bus_get_device(dock_station->handle, &adev);
+ if (acpi_bus_get_device(dock_station->handle, &adev))
+ return -ENODEV;
+
return snprintf(buf, PAGE_SIZE, "%u\n", acpi_device_enumerated(adev));
}
static DEVICE_ATTR(docked, S_IRUGO, show_docked, NULL);
--
2.7.4
On Tue, Jun 12, 2018 at 6:38 AM, Zhouyang Jia <[email protected]> wrote:
> When acpi_bus_get_device fails, the lack of error-handling code may
> cause unexpected results.
It is perfectly predictable in this particular case: adev will be NULL
and acpi_device_enumerated(adev) will return false.
> This patch adds error-handling code after calling acpi_bus_get_device.
Which is not necessary.
Thanks,
Rafael