summaryrefslogtreecommitdiff
path: root/sys/dev/i2c
diff options
context:
space:
mode:
authorjakllsch <jakllsch@NetBSD.org>2016-09-10 13:16:12 +0000
committerjakllsch <jakllsch@NetBSD.org>2016-09-10 13:16:12 +0000
commitc8a5d1537fbb6d941cc11532cec6422e771fd588 (patch)
tree16c8b9feac8c7411ccede03e5087ca333dba5b1f /sys/dev/i2c
parent30b974526629ac8d756d6a22afc1ed8d2777f60e (diff)
Iterate over ia_ncompat array properly.
Diffstat (limited to 'sys/dev/i2c')
-rw-r--r--sys/dev/i2c/at24cxx.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/dev/i2c/at24cxx.c b/sys/dev/i2c/at24cxx.c
index 5e26a188bac..c6fb2026c64 100644
--- a/sys/dev/i2c/at24cxx.c
+++ b/sys/dev/i2c/at24cxx.c
@@ -1,4 +1,4 @@
-/* $NetBSD: at24cxx.c,v 1.22 2016/07/23 18:02:10 jakllsch Exp $ */
+/* $NetBSD: at24cxx.c,v 1.23 2016/09/10 13:16:12 jakllsch Exp $ */
/*
* Copyright (c) 2003 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: at24cxx.c,v 1.22 2016/07/23 18:02:10 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: at24cxx.c,v 1.23 2016/09/10 13:16:12 jakllsch Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -150,7 +150,7 @@ seeprom_attach(device_t parent, device_t self, void *aux)
{
struct seeprom_softc *sc = device_private(self);
struct i2c_attach_args *ia = aux;
- u_int n;
+ u_int n, m;
sc->sc_tag = ia->ia_tag;
sc->sc_address = ia->ia_addr;
@@ -185,9 +185,12 @@ seeprom_attach(device_t parent, device_t self, void *aux)
if (sc->sc_size <= 0 && ia->ia_ncompat > 0) {
for (n = 0; n < __arraycount(seeprom_sizes); n++) {
- if (!strcmp(seeprom_sizes[n].name, ia->ia_compat[n])) {
- sc->sc_size = seeprom_sizes[n].size;
- break;
+ for (m = 0; m < ia->ia_ncompat; m++) {
+ if (!strcmp(seeprom_sizes[n].name,
+ ia->ia_compat[m])) {
+ sc->sc_size = seeprom_sizes[n].size;
+ break;
+ }
}
}
}