|
@@ -700,6 +700,9 @@ static void xfrm_policy_requeue(struct xfrm_policy *old,
|
|
|
struct xfrm_policy_queue *pq = &old->polq;
|
|
|
struct sk_buff_head list;
|
|
|
|
|
|
+ if (skb_queue_empty(&pq->hold_queue))
|
|
|
+ return;
|
|
|
+
|
|
|
__skb_queue_head_init(&list);
|
|
|
|
|
|
spin_lock_bh(&pq->hold_queue.lock);
|
|
@@ -708,9 +711,6 @@ static void xfrm_policy_requeue(struct xfrm_policy *old,
|
|
|
xfrm_pol_put(old);
|
|
|
spin_unlock_bh(&pq->hold_queue.lock);
|
|
|
|
|
|
- if (skb_queue_empty(&list))
|
|
|
- return;
|
|
|
-
|
|
|
pq = &new->polq;
|
|
|
|
|
|
spin_lock_bh(&pq->hold_queue.lock);
|