aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iicbus
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/iicbus')
-rw-r--r--sys/dev/iicbus/ds3231.c7
-rw-r--r--sys/dev/iicbus/lm75.c7
2 files changed, 6 insertions, 8 deletions
diff --git a/sys/dev/iicbus/ds3231.c b/sys/dev/iicbus/ds3231.c
index e6366bf3368e..690c92b05ee6 100644
--- a/sys/dev/iicbus/ds3231.c
+++ b/sys/dev/iicbus/ds3231.c
@@ -64,8 +64,6 @@ struct ds3231_softc {
uint8_t sc_status;
};
-static int ds3231_sqw_freq[] = { 1, 1024, 4096, 8192 };
-
static void ds3231_start(void *);
static int
@@ -282,6 +280,7 @@ ds3231_bbsqw_sysctl(SYSCTL_HANDLER_ARGS)
static int
ds3231_sqw_freq_sysctl(SYSCTL_HANDLER_ARGS)
{
+ int ds3231_sqw_freq[] = { 1, 1024, 4096, 8192 };
int error, freq, i, newf, tmp;
struct ds3231_softc *sc;
@@ -290,8 +289,8 @@ ds3231_sqw_freq_sysctl(SYSCTL_HANDLER_ARGS)
if (error != 0)
return (error);
tmp = (sc->sc_ctrl & DS3231_CTRL_RS_MASK) >> DS3231_CTRL_RS_SHIFT;
- if (tmp > nitems(ds3231_sqw_freq))
- tmp = nitems(ds3231_sqw_freq);
+ if (tmp >= nitems(ds3231_sqw_freq))
+ tmp = nitems(ds3231_sqw_freq) - 1;
freq = ds3231_sqw_freq[tmp];
error = sysctl_handle_int(oidp, &freq, 0, req);
if (error != 0 || req->newptr == NULL)
diff --git a/sys/dev/iicbus/lm75.c b/sys/dev/iicbus/lm75.c
index 2b9b1a362508..cbcd8c44c48f 100644
--- a/sys/dev/iicbus/lm75.c
+++ b/sys/dev/iicbus/lm75.c
@@ -90,8 +90,6 @@ struct lm75_softc {
uint32_t sc_conf;
};
-static int lm75_faults[4] = { 1, 2, 4, 6 };
-
/* Utility functions */
static int lm75_conf_read(struct lm75_softc *);
static int lm75_conf_write(struct lm75_softc *);
@@ -457,14 +455,15 @@ static int
lm75_faults_sysctl(SYSCTL_HANDLER_ARGS)
{
device_t dev;
+ int lm75_faults[] = { 1, 2, 4, 6 };
int error, faults, i, newf, tmp;
struct lm75_softc *sc;
dev = (device_t)arg1;
sc = device_get_softc(dev);
tmp = (sc->sc_conf & LM75_CONF_FAULT) >> LM75_CONF_FSHIFT;
- if (tmp > nitems(lm75_faults))
- tmp = nitems(lm75_faults);
+ if (tmp >= nitems(lm75_faults))
+ tmp = nitems(lm75_faults) - 1;
faults = lm75_faults[tmp];
error = sysctl_handle_int(oidp, &faults, 0, req);