SCCS-vsn: sys/vax/if/if_ix.c 7.3
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)if_ix.c 7.2 (Berkeley) %G%
+ * @(#)if_ix.c 7.3 (Berkeley) %G%
if (routine == 0) {
NpAddReq(mp->reqtab, rp); /* Queue onto active list */
while (!(rp->flags & REQDONE)) {
if (routine == 0) {
NpAddReq(mp->reqtab, rp); /* Queue onto active list */
while (!(rp->flags & REQDONE)) {
NpAddCQE(ep, &mp->shmemp->devcq, mp);
sleep((caddr_t)rp, PZERO - 1);
splx(pri);
NpAddCQE(ep, &mp->shmemp->devcq, mp);
sleep((caddr_t)rp, PZERO - 1);
splx(pri);
}
NpRemReq(rp); /* Clear request */
} else {
}
NpRemReq(rp); /* Clear request */
} else {
NpAddCQE(ep, &mp->shmemp->devcq, mp);
splx(pri);
}
NpAddCQE(ep, &mp->shmemp->devcq, mp);
splx(pri);
}
ix_softc[unit].ix_flags &= mask;
}
ix_softc[unit].ix_flags &= mask;
}
/*
* Initialization of interface; clear recorded pending
/*
* Initialization of interface; clear recorded pending
IF_DEQUEUE(&ix->ix_if.if_snd, m);
if (m == 0) {
if (ix->ix_flags & IXF_STATPENDING) {
IF_DEQUEUE(&ix->ix_if.if_snd, m);
if (m == 0) {
if (ix->ix_flags & IXF_STATPENDING) {
+ ix->ix_flags &= ~IXF_STATPENDING;
ix->ix_flags |= IXF_OACTIVE;
rpb[0] = 2;
rpb[1] = ix->ix_aid;
ix->ix_flags |= IXF_OACTIVE;
rpb[0] = 2;
rpb[1] = ix->ix_aid;
ix->ix_flags |= IXF_RCVPENDING;
ix->ix_flags |= IXF_RCVPENDING;
NpAddCQE(ep, &mp->shmemp->devcq, mp); /* Add CQE to device's queue */
splx(s);
}
NpAddCQE(ep, &mp->shmemp->devcq, mp); /* Add CQE to device's queue */
splx(s);
}