All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe
@ 2017-10-04 17:16 Srishti Sharma
  2017-10-05 12:34 ` Dan Carpenter
  2017-10-20  0:09 ` kbuild test robot
  0 siblings, 2 replies; 3+ messages in thread
From: Srishti Sharma @ 2017-10-04 17:16 UTC (permalink / raw)
  To: gregkh; +Cc: devel, linux-kernel, outreachy-kernel, Srishti Sharma

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@gmail.com>
---
Changes in v2
 -Make the commit message more clear.
 -Add file name to the subject.

 drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 52f31c7..4e1d06c 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -5446,6 +5446,7 @@ 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;
@@ -5469,11 +5470,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) {
 				list_del_init(&pxmitframe->list);
 
 				psta_bmc->sleepq_len--;
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe
  2017-10-04 17:16 [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe Srishti Sharma
@ 2017-10-05 12:34 ` Dan Carpenter
  2017-10-20  0:09 ` kbuild test robot
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2017-10-05 12:34 UTC (permalink / raw)
  To: Srishti Sharma; +Cc: gregkh, devel, outreachy-kernel, linux-kernel

On Wed, Oct 04, 2017 at 10:46:56PM +0530, Srishti Sharma wrote:
>  drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> index 52f31c7..4e1d06c 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> @@ -5446,6 +5446,7 @@ 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) {

You need a blank line between the declaration and the code.

regards,
dan carpenter



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe
  2017-10-04 17:16 [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe Srishti Sharma
  2017-10-05 12:34 ` Dan Carpenter
@ 2017-10-20  0:09 ` kbuild test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kbuild test robot @ 2017-10-20  0:09 UTC (permalink / raw)
  To: Srishti Sharma
  Cc: kbuild-all, gregkh, devel, linux-kernel, outreachy-kernel,
	Srishti Sharma

[-- Attachment #1: Type: text/plain, Size: 2795 bytes --]

Hi Srishti,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on v4.14-rc5 next-20171018]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Srishti-Sharma/Staging-rtl8188eu-core-rtw_mlme_ext-Use-list_for_each_entry_safe/20171007-080024
config: x86_64-randconfig-v0-10200632 (attached as .config)
compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/staging//rtl8188eu/core/rtw_mlme_ext.c: In function 'tx_beacon_hdl':
>> drivers/staging//rtl8188eu/core/rtw_mlme_ext.c:5449: warning: unused variable 'tmp'

vim +/tmp +5449 drivers/staging//rtl8188eu/core/rtw_mlme_ext.c

  5446	
  5447	u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf)
  5448	{
> 5449		struct xmit_frame *tmp;
  5450		if (send_beacon(padapter) == _FAIL) {
  5451			DBG_88E("issue_beacon, fail!\n");
  5452			return H2C_PARAMETERS_ERROR;
  5453		}
  5454	#ifdef CONFIG_88EU_AP_MODE
  5455		else { /* tx bc/mc frames after update TIM */
  5456			struct sta_info *psta_bmc;
  5457			struct list_head *xmitframe_plist, *xmitframe_phead;
  5458			struct xmit_frame *pxmitframe = NULL;
  5459			struct sta_priv  *pstapriv = &padapter->stapriv;
  5460	
  5461			/* for BC/MC Frames */
  5462			psta_bmc = rtw_get_bcmc_stainfo(padapter);
  5463			if (!psta_bmc)
  5464				return H2C_SUCCESS;
  5465	
  5466			if ((pstapriv->tim_bitmap&BIT(0)) && (psta_bmc->sleepq_len > 0)) {
  5467				msleep(10);/*  10ms, ATIM(HIQ) Windows */
  5468				spin_lock_bh(&psta_bmc->sleep_q.lock);
  5469	
  5470				xmitframe_phead = get_list_head(&psta_bmc->sleep_q);
  5471				xmitframe_plist = xmitframe_phead->next;
  5472	
  5473				list_for_each_entry_safe(pxmitframe, tmp,
  5474							 xmitframe_plist, list) {
  5475					list_del_init(&pxmitframe->list);
  5476	
  5477					psta_bmc->sleepq_len--;
  5478					if (psta_bmc->sleepq_len > 0)
  5479						pxmitframe->attrib.mdata = 1;
  5480					else
  5481						pxmitframe->attrib.mdata = 0;
  5482	
  5483					pxmitframe->attrib.triggered = 1;
  5484	
  5485					pxmitframe->attrib.qsel = 0x11;/* HIQ */
  5486	
  5487					spin_unlock_bh(&psta_bmc->sleep_q.lock);
  5488					if (rtw_hal_xmit(padapter, pxmitframe))
  5489						rtw_os_xmit_complete(padapter, pxmitframe);
  5490					spin_lock_bh(&psta_bmc->sleep_q.lock);
  5491				}
  5492				spin_unlock_bh(&psta_bmc->sleep_q.lock);
  5493			}
  5494		}
  5495	#endif
  5496		return H2C_SUCCESS;
  5497	}
  5498	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26167 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-10-20  0:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-04 17:16 [PATCH v2] Staging: rtl8188eu: core: rtw_mlme_ext: Use list_for_each_entry_safe Srishti Sharma
2017-10-05 12:34 ` Dan Carpenter
2017-10-20  0:09 ` kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.