hwmon: (applesmc) check status earlier.
authorTom Rix <trix@redhat.com>
Thu, 20 Aug 2020 13:19:32 +0000 (06:19 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 21 Aug 2020 18:32:34 +0000 (11:32 -0700)
commitcecf7560f00a8419396a2ed0f6e5d245ccb4feac
tree4ea85106d15e6de790e06c027528a0c646c33f27
parent8aebbbb2d573d0b4afc08b90ac7d73dba2d9da97
hwmon: (applesmc) check status earlier.

clang static analysis reports this representative problem

applesmc.c:758:10: warning: 1st function call argument is an
  uninitialized value
        left = be16_to_cpu(*(__be16 *)(buffer + 6)) >> 2;
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

buffer is filled by the earlier call

ret = applesmc_read_key(LIGHT_SENSOR_LEFT_KEY, ...

This problem is reported because a goto skips the status check.
Other similar problems use data from applesmc_read_key before checking
the status.  So move the checks to before the use.

Signed-off-by: Tom Rix <trix@redhat.com>
Reviewed-by: Henrik Rydberg <rydberg@bitmath.org>
Link: https://lore.kernel.org/r/20200820131932.10590-1-trix@redhat.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/applesmc.c