Locking the tcbinfo structure should not be necessary in tcp_timer_delack(),

so don't.

MFC after:      1 week
Reviewed by:    bz
Sponsored by:   Juniper Networks
This commit is contained in:
Robert Watson 2010-03-07 14:23:44 +00:00
parent 2bf3ce088d
commit 1f821c53f0

View File

@ -162,7 +162,6 @@ tcp_timer_delack(void *xtp)
struct inpcb *inp;
CURVNET_SET(tp->t_vnet);
INP_INFO_RLOCK(&V_tcbinfo);
inp = tp->t_inpcb;
/*
* XXXRW: While this assert is in fact correct, bugs in the tcpcb
@ -173,12 +172,10 @@ tcp_timer_delack(void *xtp)
*/
if (inp == NULL) {
tcp_timer_race++;
INP_INFO_RUNLOCK(&V_tcbinfo);
CURVNET_RESTORE();
return;
}
INP_WLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);
if ((inp->inp_flags & INP_DROPPED) || callout_pending(&tp->t_timers->tt_delack)
|| !callout_active(&tp->t_timers->tt_delack)) {
INP_WUNLOCK(inp);