A device that has just been detached can't be reconfigured. Coverity ID 2674.

Note: this was not a problem right now because there's no drivers with both
a detach and a ii_reconfig callback.
This commit is contained in:
bouyer 2006-03-27 21:50:45 +00:00
parent bf0b9fa559
commit 7837fbef28
1 changed files with 5 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: iop.c,v 1.51 2005/12/11 12:21:23 christos Exp $ */ /* $NetBSD: iop.c,v 1.52 2006/03/27 21:50:45 bouyer Exp $ */
/*- /*-
* Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. * Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
@ -41,7 +41,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: iop.c,v 1.51 2005/12/11 12:21:23 christos Exp $"); __KERNEL_RCSID(0, "$NetBSD: iop.c,v 1.52 2006/03/27 21:50:45 bouyer Exp $");
#include "opt_i2o.h" #include "opt_i2o.h"
#include "iop.h" #include "iop.h"
@ -766,8 +766,10 @@ iop_reconfigure(struct iop_softc *sc, u_int chgind)
if (ii->ii_tid == sc->sc_tidmap[i].it_tid) if (ii->ii_tid == sc->sc_tidmap[i].it_tid)
break; break;
if (i == sc->sc_nlctent || if (i == sc->sc_nlctent ||
(sc->sc_tidmap[i].it_flags & IT_CONFIGURED) == 0) (sc->sc_tidmap[i].it_flags & IT_CONFIGURED) == 0) {
config_detach(ii->ii_dv, DETACH_FORCE); config_detach(ii->ii_dv, DETACH_FORCE);
continue;
}
/* /*
* Tell initiators that existed before the re-configuration * Tell initiators that existed before the re-configuration