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:
@@ -124,12 +124,9 @@ static inline enum resp_states get_req(struct rxe_qp *qp,
|
|||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
|
||||||
if (qp->resp.state == QP_STATE_ERROR) {
|
if (qp->resp.state == QP_STATE_ERROR) {
|
||||||
skb = skb_dequeue(&qp->req_pkts);
|
while ((skb = skb_dequeue(&qp->req_pkts))) {
|
||||||
if (skb) {
|
|
||||||
/* drain request packet queue */
|
|
||||||
rxe_drop_ref(qp);
|
rxe_drop_ref(qp);
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
return RESPST_GET_REQ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* go drain recv wr queue */
|
/* go drain recv wr queue */
|
||||||
|
|||||||
Reference in New Issue
Block a user