wctc4xxp: Only capture commands once they are on the descriptor ring.
Eliminates some cases where there are duplicated packets in the capture if the hardware descriptor ring was already full. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
This commit is contained in:
parent
3446cdca8f
commit
44a33126e0
@ -1624,8 +1624,6 @@ wctc4xxp_transmit_cmd(struct wcdte *wc, struct tcb *cmd)
|
|||||||
wctc4xxp_add_to_response_list(wc, cmd);
|
wctc4xxp_add_to_response_list(wc, cmd);
|
||||||
mod_timer(&wc->watchdog, jiffies + HZ/2);
|
mod_timer(&wc->watchdog, jiffies + HZ/2);
|
||||||
}
|
}
|
||||||
if (!(cmd->flags & DO_NOT_CAPTURE))
|
|
||||||
wctc4xxp_net_capture_cmd(wc, cmd);
|
|
||||||
res = wctc4xxp_submit(wc->txd, cmd);
|
res = wctc4xxp_submit(wc->txd, cmd);
|
||||||
if (-EBUSY == res) {
|
if (-EBUSY == res) {
|
||||||
/* Looks like we're out of room in the descriptor
|
/* Looks like we're out of room in the descriptor
|
||||||
@ -1636,6 +1634,8 @@ wctc4xxp_transmit_cmd(struct wcdte *wc, struct tcb *cmd)
|
|||||||
wctc4xxp_remove_from_response_list(wc, cmd);
|
wctc4xxp_remove_from_response_list(wc, cmd);
|
||||||
wctc4xxp_add_to_command_list(wc, cmd);
|
wctc4xxp_add_to_command_list(wc, cmd);
|
||||||
} else if (0 == res) {
|
} else if (0 == res) {
|
||||||
|
if (!(cmd->flags & DO_NOT_CAPTURE))
|
||||||
|
wctc4xxp_net_capture_cmd(wc, cmd);
|
||||||
wctc4xxp_transmit_demand_poll(wc);
|
wctc4xxp_transmit_demand_poll(wc);
|
||||||
} else {
|
} else {
|
||||||
/* Unknown return value... */
|
/* Unknown return value... */
|
||||||
|
Loading…
Reference in New Issue
Block a user