IB/rxe: clean skb queue directly

When resp is in error state, the queued SKBs will not be handled.
The function get_req cleans up the skb queue directly.

CC: Srinivas Eeda <srinivas.eeda@oracle.com>
CC: Junxiao Bi <junxiao.bi@oracle.com>
Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Zhu Yanjun 2018-10-19 04:53:00 -04:00 committed by Doug Ledford
parent 6d10550c84
commit 4e588c8d03
1 changed files with 1 additions and 4 deletions

View File

@ -124,12 +124,9 @@ static inline enum resp_states get_req(struct rxe_qp *qp,
struct sk_buff *skb;
if (qp->resp.state == QP_STATE_ERROR) {
skb = skb_dequeue(&qp->req_pkts);
if (skb) {
/* drain request packet queue */
while ((skb = skb_dequeue(&qp->req_pkts))) {
rxe_drop_ref(qp);
kfree_skb(skb);
return RESPST_GET_REQ;
}
/* go drain recv wr queue */