staging: r8188eu: use kernel helper to iterate over a list
authorMartin Kaiser <martin@kaiser.cx>
Mon, 30 Jan 2023 19:52:59 +0000 (20:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Jan 2023 10:16:57 +0000 (11:16 +0100)
rtw_free_xmitframe_list iterates over the list of xmit_frames and frees
each entry. We can use list_for_each_entry_safe instead of coding this
manually. We need the _safe version as the current pxmitframe will be
removed from the list by rtw_free_xmitframe.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20230130195303.138941-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_xmit.c

index 24cf11e7b4bc52e538b4bf0ad42951c1f453880d..c2b1e6f1d358833f699a2f9d4e82edcabc7b7dd0 100644 (file)
@@ -1327,18 +1327,10 @@ exit:
 
 void rtw_free_xmitframe_list(struct xmit_priv *pxmitpriv, struct list_head *xframe_list)
 {
-       struct list_head *plist;
-       struct  xmit_frame      *pxmitframe;
-
-       plist = xframe_list->next;
-
-       while (xframe_list != plist) {
-               pxmitframe = container_of(plist, struct xmit_frame, list);
-
-               plist = plist->next;
+       struct  xmit_frame *pxmitframe, *tmp_xmitframe;
 
+       list_for_each_entry_safe(pxmitframe, tmp_xmitframe, xframe_list, list)
                rtw_free_xmitframe(pxmitpriv, pxmitframe);
-       }
 }
 
 struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i)