Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be4c23c9 authored by Ben Dooks's avatar Ben Dooks Committed by Jean Delvare
Browse files

hwmon: (s3c-hwmon) Ignore invalid divider settings



Avoid registering channels that have zero divider settings in them, as this
will only lead to kernel OOPS from divide-by-zero when the sysfs entry is
read.

Signed-off-by: default avatarBen Dooks <ben@simtec.co.uk>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent a9366e61
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -323,14 +323,21 @@ static int __devinit s3c_hwmon_probe(struct platform_device *dev)
	}

	for (i = 0; i < ARRAY_SIZE(pdata->in); i++) {
		if (!pdata->in[i])
		struct s3c24xx_adc_hwmon_incfg *cfg = pdata->in[i];

		if (!cfg)
			continue;

		if (pdata->in[i]->mult >= 0x10000)
		if (cfg->mult >= 0x10000)
			dev_warn(&dev->dev,
				 "channel %d multiplier too large\n",
				 i);

		if (cfg->divider == 0) {
			dev_err(&dev->dev, "channel %d divider zero\n", i);
			continue;
		}

		ret = s3c_hwmon_create_attr(&dev->dev, pdata->in[i],
					    &hwmon->attrs[i], i);
		if (ret) {