diff --git a/src/flow-worker.c b/src/flow-worker.c index 9ecfe65f29..ffdd2defdc 100644 --- a/src/flow-worker.c +++ b/src/flow-worker.c @@ -407,12 +407,13 @@ static inline void FlowWorkerStreamTCPUpdate(ThreadVars *tv, FlowWorkerThreadDat /* no need to keep a flow ref beyond this point */ FlowDeReference(&x->flow); + /* no further work to do for this pseudo packet, so we can return + * it to the pool immediately. */ if (timeout) { PacketPoolReturnPacket(x); } else { - /* put these packets in the decode queue so that they are processed - * by the other thread modules before packet 'p'. */ - PacketEnqueueNoLock(&tv->decode_pq, x); + /* to support IPS verdict logic, in the non-timeout case we need to do a bit more */ + TmqhOutputPacketpool(tv, x); } } }