protect some more operations with splimp() under Netgraph.
This commit is contained in:
parent
df618d033c
commit
6822ccd6e7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=53402
@ -2137,13 +2137,13 @@ ngar_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
arwatchdog(sc);
|
arwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
ar_down(sc);
|
ar_down(sc);
|
||||||
ar_up(sc);
|
ar_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -2304,8 +2304,8 @@ ngar_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
arstart(sc);
|
arstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
@ -2137,13 +2137,13 @@ ngar_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
arwatchdog(sc);
|
arwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
ar_down(sc);
|
ar_down(sc);
|
||||||
ar_up(sc);
|
ar_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -2304,8 +2304,8 @@ ngar_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
arstart(sc);
|
arstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
@ -3296,13 +3296,13 @@ ngsr_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
srwatchdog(sc);
|
srwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
sr_down(sc);
|
sr_down(sc);
|
||||||
sr_up(sc);
|
sr_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -3466,8 +3466,8 @@ ngsr_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
srstart(sc);
|
srstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
@ -3296,13 +3296,13 @@ ngsr_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
srwatchdog(sc);
|
srwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
sr_down(sc);
|
sr_down(sc);
|
||||||
sr_up(sc);
|
sr_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -3466,8 +3466,8 @@ ngsr_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
srstart(sc);
|
srstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
@ -2137,13 +2137,13 @@ ngar_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "ar%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
arwatchdog(sc);
|
arwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
ar_down(sc);
|
ar_down(sc);
|
||||||
ar_up(sc);
|
ar_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -2304,8 +2304,8 @@ ngar_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
arstart(sc);
|
arstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
@ -3296,13 +3296,13 @@ ngsr_watchdog_frame(void * arg)
|
|||||||
if (sc->out_dog == 0) {
|
if (sc->out_dog == 0) {
|
||||||
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
log(LOG_ERR, "sr%d: Transmit failure.. no clock?\n",
|
||||||
sc->unit);
|
sc->unit);
|
||||||
|
s = splimp();
|
||||||
srwatchdog(sc);
|
srwatchdog(sc);
|
||||||
#if 0
|
#if 0
|
||||||
s = splimp();
|
|
||||||
sr_down(sc);
|
sr_down(sc);
|
||||||
sr_up(sc);
|
sr_up(sc);
|
||||||
splx(s);
|
|
||||||
#endif
|
#endif
|
||||||
|
splx(s);
|
||||||
sc->inlast = sc->out_deficit = 0;
|
sc->inlast = sc->out_deficit = 0;
|
||||||
} else {
|
} else {
|
||||||
sc->out_dog--;
|
sc->out_dog--;
|
||||||
@ -3466,8 +3466,8 @@ ngsr_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
IF_ENQUEUE(xmitq_p, m);
|
IF_ENQUEUE(xmitq_p, m);
|
||||||
splx(s);
|
|
||||||
srstart(sc);
|
srstart(sc);
|
||||||
|
splx(s);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
|
Loading…
Reference in New Issue
Block a user