The call to kstrtoul() will corrupt memory on 64 bit systems because an
int is 4 bytes and a long is 8.
Also it's not a good idea to let users trigger a dev_err() because it
just ends up flooding /var/log/messages so I removed the printk.
Fixes:
2ddd2086ea9c ('mfd: add Intel Broxton Whiskey Cove PMIC driver')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
unsigned int val;
struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
- if (kstrtoul(buf, 0, (unsigned long *)&val)) {
- dev_err(dev, "Invalid register value\n");
- return -EINVAL;
- }
+ ret = kstrtouint(buf, 0, &val);
+ if (ret)
+ return ret;
ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val);
if (ret) {