Merge tag 'dt-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[firefly-linux-kernel-4.4.55.git] / include / net / inet_frag.h
index 4182c9be8bb5b2702b470222a1e4a955619b6b96..bfcbc0017950372ddd39dd540ff3f6da99f2bee6 100644 (file)
@@ -141,14 +141,15 @@ static inline int sum_frag_mem_limit(struct netns_frags *nf)
 static inline void inet_frag_lru_move(struct inet_frag_queue *q)
 {
        spin_lock(&q->net->lru_lock);
-       list_move_tail(&q->lru_list, &q->net->lru_list);
+       if (!list_empty(&q->lru_list))
+               list_move_tail(&q->lru_list, &q->net->lru_list);
        spin_unlock(&q->net->lru_lock);
 }
 
 static inline void inet_frag_lru_del(struct inet_frag_queue *q)
 {
        spin_lock(&q->net->lru_lock);
-       list_del(&q->lru_list);
+       list_del_init(&q->lru_list);
        q->net->nqueues--;
        spin_unlock(&q->net->lru_lock);
 }