summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/aac/aac.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
index 69ad8bc..21935a8 100644
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -306,7 +306,7 @@ aac_startup(void *arg)
struct aac_fib *fib;
struct aac_mntinfo *mi;
struct aac_mntinforesp *mir = NULL;
- int i = 0;
+ int count = 0, i = 0;
debug_called(1);
@@ -327,14 +327,16 @@ aac_startup(void *arg)
mi->MntCount = i;
if (aac_sync_fib(sc, ContainerCommand, 0, fib,
sizeof(struct aac_mntinfo))) {
- debug(2, "error probing container %d", i);
+ printf("error probing container %d", i);
continue;
}
mir = (struct aac_mntinforesp *)&fib->data[0];
+ /* XXX Need to check if count changed */
+ count = mir->MntRespCount;
aac_add_container(sc, mir, 0);
i++;
- } while ((i < mir->MntRespCount) && (i < AAC_MAX_CONTAINERS));
+ } while ((i < count) && (i < AAC_MAX_CONTAINERS));
aac_release_sync_fib(sc);
@@ -2565,7 +2567,7 @@ aac_handle_aif(struct aac_softc *sc, struct aac_fib *fib)
struct aac_mntinforesp *mir = NULL;
u_int16_t rsize;
int next, found;
- int added = 0, i = 0;
+ int count = 0, added = 0, i = 0;
debug_called(2);
@@ -2600,11 +2602,13 @@ aac_handle_aif(struct aac_softc *sc, struct aac_fib *fib)
rsize = sizeof(mir);
if (aac_sync_fib(sc, ContainerCommand, 0, fib,
sizeof(struct aac_mntinfo))) {
- debug(2, "Error probing container %d\n",
+ printf("Error probing container %d\n",
i);
continue;
}
mir = (struct aac_mntinforesp *)&fib->data[0];
+ /* XXX Need to check if count changed */
+ count = mir->MntRespCount;
/*
* Check the container against our list.
* co->co_found was already set to 0 in a
@@ -2640,8 +2644,7 @@ aac_handle_aif(struct aac_softc *sc, struct aac_fib *fib)
added = 1;
}
i++;
- } while ((i < mir->MntRespCount) &&
- (i < AAC_MAX_CONTAINERS));
+ } while ((i < count) && (i < AAC_MAX_CONTAINERS));
aac_release_sync_fib(sc);
/*
OpenPOWER on IntegriCloud