OSDN Git Service

net: iwlwifi: use skb_list_walk_safe helper for gso segments
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 8 Jan 2020 21:59:09 +0000 (16:59 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Jan 2020 23:19:55 +0000 (15:19 -0800)
This is a straight-forward conversion case for the new function, and
while we're at it, we can remove a null write to skb->next by replacing
it with skb_mark_not_on_list.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/intel/iwlwifi/mvm/tx.c

index dc5c02f..6a241d3 100644 (file)
@@ -847,10 +847,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
        else if (next)
                consume_skb(skb);
 
-       while (next) {
-               tmp = next;
-               next = tmp->next;
-
+       skb_list_walk_safe(next, tmp, next) {
                memcpy(tmp->cb, cb, sizeof(tmp->cb));
                /*
                 * Compute the length of all the data added for the A-MSDU.
@@ -880,9 +877,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
                        skb_shinfo(tmp)->gso_size = 0;
                }
 
-               tmp->prev = NULL;
-               tmp->next = NULL;
-
+               skb_mark_not_on_list(tmp);
                __skb_queue_tail(mpdus_skb, tmp);
                i++;
        }