On Thu, Oct 19, 2017 at 01:01:39AM +0530, Srishti Sharma wrote: > This is a cleanup patch and doesn't change runtime behaviour. It > changes an open coded list traversal to use list_for_each_entry_safe. > Done using the following semantic patch by coccinelle. > > @r@ > struct list_head* l; > expression e; > identifier m,list_del_init,f; > type T1; > T1* pos; > iterator name list_for_each_entry_safe; > @@ > > f(...){ > > +T1* tmp; > <+... > -while(...) > +list_for_each_entry_safe(pos,tmp,l,m) > { > ... > -pos = container_of(l,T1,m); > ... > -l=e; > <+... > list_del_init(&pos->m) > ...+> > } > ...+> > > } > > Signed-off-by: Srishti Sharma <srishtishar@xxxxxxxxx> > --- > drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c > index 685c071..cf85fb4 100644 > --- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c > +++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c > @@ -5463,6 +5463,8 @@ u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf) > > u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf) > { > + struct xmit_frame *tmp; > + > if (send_beacon(padapter) == _FAIL) { > DBG_88E("issue_beacon, fail!\n"); > return H2C_PARAMETERS_ERROR; > @@ -5486,11 +5488,8 @@ u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf) > xmitframe_phead = get_list_head(&psta_bmc->sleep_q); > xmitframe_plist = xmitframe_phead->next; > > - while (xmitframe_phead != xmitframe_plist) { > - pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); > - > - xmitframe_plist = xmitframe_plist->next; > - > + list_for_each_entry_safe(pxmitframe, tmp, > + xmitframe_plist, list) { I'm pretty sure we should get rid of the xmitframe_plist variable and use xmitframe_phead here. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel