mmc: core: Fix warning and undefined behavior in mmc voltage handling
authorPavel Machek <pavel@ucw.cz>
Tue, 16 Apr 2019 07:58:45 +0000 (09:58 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 29 Apr 2019 10:37:11 +0000 (12:37 +0200)
!voltage_ranges is tested for too late, allowing warning and undefined
behavior. Fix that.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/host.c

index 3a4402a..b3fa9c9 100644 (file)
@@ -363,11 +363,11 @@ int mmc_of_parse_voltage(struct device_node *np, u32 *mask)
        int num_ranges, i;
 
        voltage_ranges = of_get_property(np, "voltage-ranges", &num_ranges);
-       num_ranges = num_ranges / sizeof(*voltage_ranges) / 2;
        if (!voltage_ranges) {
                pr_debug("%pOF: voltage-ranges unspecified\n", np);
                return 0;
        }
+       num_ranges = num_ranges / sizeof(*voltage_ranges) / 2;
        if (!num_ranges) {
                pr_err("%pOF: voltage-ranges empty\n", np);
                return -EINVAL;