]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/base/regmap/regmap.c
regmap: Add missing initialization of this_page
[mirror_ubuntu-bionic-kernel.git] / drivers / base / regmap / regmap.c
index d0a072463a04ff1c4d3f83cbd66de587be4c5e44..35869755d46491cee13a6e4d3da7806388a8f485 100644 (file)
@@ -761,10 +761,11 @@ skip_format_initialization:
        if (ret != 0)
                goto err_range;
 
-       if (dev)
+       if (dev) {
                ret = regmap_attach_dev(dev, map, config);
                if (ret != 0)
                        goto err_regcache;
+       }
 
        return map;
 
@@ -1614,6 +1615,9 @@ static int _regmap_raw_multi_reg_write(struct regmap *map,
        size_t pair_size = reg_bytes + pad_bytes + val_bytes;
        size_t len = pair_size * num_regs;
 
+       if (!len)
+               return -EINVAL;
+
        buf = kzalloc(len, GFP_KERNEL);
        if (!buf)
                return -ENOMEM;
@@ -1661,7 +1665,7 @@ static int _regmap_range_multi_paged_reg_write(struct regmap *map,
        int ret;
        int i, n;
        struct reg_default *base;
-       unsigned int this_page;
+       unsigned int this_page = 0;
        /*
         * the set of registers are not neccessarily in order, but
         * since the order of write must be preserved this algorithm