[PATCH] wil6210: use memdup_user
Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang <geliangt...@gmail.com> --- drivers/net/wireless/ath/wil6210/debugfs.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c index 5648ebb..5b0f9fc 100644 --- a/drivers/net/wireless/ath/wil6210/debugfs.c +++ b/drivers/net/wireless/ath/wil6210/debugfs.c @@ -795,15 +795,11 @@ static ssize_t wil_write_file_txmgmt(struct file *file, const char __user *buf, struct wireless_dev *wdev = wil_to_wdev(wil); struct cfg80211_mgmt_tx_params params; int rc; - void *frame = kmalloc(len, GFP_KERNEL); + void *frame; - if (!frame) - return -ENOMEM; - - if (copy_from_user(frame, buf, len)) { - kfree(frame); - return -EIO; - } + frame = memdup_user(buf, len); + if (IS_ERR(frame)) + return PTR_ERR(frame); params.buf = frame; params.len = len; -- 2.9.3
[PATCH] wlcore: use memdup_user
Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang <geliangt...@gmail.com> --- drivers/net/wireless/ti/wlcore/debugfs.c | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/net/wireless/ti/wlcore/debugfs.c b/drivers/net/wireless/ti/wlcore/debugfs.c index de7e2a5..a2cb408 100644 --- a/drivers/net/wireless/ti/wlcore/debugfs.c +++ b/drivers/net/wireless/ti/wlcore/debugfs.c @@ -1149,15 +1149,9 @@ static ssize_t dev_mem_write(struct file *file, const char __user *user_buf, part.mem.start = *ppos; part.mem.size = bytes; - buf = kmalloc(bytes, GFP_KERNEL); - if (!buf) - return -ENOMEM; - - ret = copy_from_user(buf, user_buf, bytes); - if (ret) { - ret = -EFAULT; - goto err_out; - } + buf = memdup_user(user_buf, bytes); + if (IS_ERR(buf)) + return PTR_ERR(buf); mutex_lock(>mutex); @@ -1197,7 +1191,6 @@ static ssize_t dev_mem_write(struct file *file, const char __user *user_buf, if (ret == 0) *ppos += bytes; -err_out: kfree(buf); return ((ret == 0) ? bytes : ret); -- 2.9.3
[PATCH v2 2/3] staging: rtl8723au: core: rtw_xmit: use list_first_entry_or_null()
Use list_first_entry_or_null() instead of list_empty() + container_of() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> Acked-by: Jes Sorensen <jes.soren...@redhat.com> --- drivers/staging/rtl8723au/core/rtw_xmit.c | 26 -- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_xmit.c b/drivers/staging/rtl8723au/core/rtw_xmit.c index b82b182..3de40cf 100644 --- a/drivers/staging/rtl8723au/core/rtw_xmit.c +++ b/drivers/staging/rtl8723au/core/rtw_xmit.c @@ -1443,24 +1443,18 @@ Must be very very cautious... */ static struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv) { - struct xmit_frame *pxframe = NULL; - struct list_head *plist, *phead; + struct xmit_frame *pxframe; struct rtw_queue *pfree_xmit_queue = >free_xmit_queue; spin_lock_bh(_xmit_queue->lock); - if (list_empty(_xmit_queue->queue)) { + pxframe = list_first_entry_or_null(_xmit_queue->queue, + struct xmit_frame, list); + if (!pxframe) { RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, "rtw_alloc_xmitframe:%d\n", pxmitpriv->free_xmitframe_cnt); - pxframe = NULL; } else { - phead = get_list_head(pfree_xmit_queue); - - plist = phead->next; - - pxframe = container_of(plist, struct xmit_frame, list); - list_del_init(>list); pxmitpriv->free_xmitframe_cnt--; RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, @@ -1477,22 +1471,18 @@ static struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv) struct xmit_frame *rtw_alloc_xmitframe23a_ext(struct xmit_priv *pxmitpriv) { - struct xmit_frame *pxframe = NULL; - struct list_head *plist, *phead; + struct xmit_frame *pxframe; struct rtw_queue *queue = >free_xframe_ext_queue; spin_lock_bh(>lock); - if (list_empty(>queue)) { + pxframe = list_first_entry_or_null(>queue, + struct xmit_frame, list); + if (!pxframe) { RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, "rtw_alloc_xmitframe23a_ext:%d\n", pxmitpriv->free_xframe_ext_cnt); - pxframe = NULL; } else { - phead = get_list_head(queue); - plist = phead->next; - pxframe = container_of(plist, struct xmit_frame, list); - list_del_init(>list); pxmitpriv->free_xframe_ext_cnt--; RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 3/3] staging: rtl8723au: core: rtw_recv: use list_first_entry()
Use list_first_entry() instead of container_of() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> Acked-by: Jes Sorensen <jes.soren...@redhat.com> --- drivers/staging/rtl8723au/core/rtw_recv.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index a4dacc3..ceb4a07 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -1522,7 +1522,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct rtw_queue *defrag_q) { - struct list_head *plist, *phead; + struct list_head *phead; u8 wlanhdr_offset; u8 curfragnum; struct recv_frame *pnfhdr, *ptmp; @@ -1534,8 +1534,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, pfree_recv_queue = >recvpriv.free_recv_queue; phead = get_list_head(defrag_q); - plist = phead->next; - prframe = container_of(plist, struct recv_frame, list); + prframe = list_first_entry(phead, struct recv_frame, list); list_del_init(>list); skb = prframe->pkt; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 0/3] staging: rtl8723au: use list_first_entry*
On Mon, Feb 22, 2016 at 09:39:15PM -0500, Jes Sorensen wrote: > Geliang Tang <geliangt...@163.com> writes: > > Use list_first_entry*() instead of container_of() to simplify the code. > > > > Signed-off-by: Geliang Tang <geliangt...@163.com> > > --- > > drivers/staging/rtl8723au/core/rtw_recv.c | 49 > > +-- > > drivers/staging/rtl8723au/core/rtw_xmit.c | 26 +--- > > 2 files changed, 22 insertions(+), 53 deletions(-) > > This looks fine to me. When these changes gets large, it may be better > to break them down into multiple patches as it's easier to debug if > there is a bug somewhere. > Changes in v2: - split it into three patches. Geliang Tang (3): staging: rtl8723au: core: rtw_recv: use list_first_entry_or_null() staging: rtl8723au: core: rtw_xmit: use list_first_entry_or_null() staging: rtl8723au: core: rtw_recv: use list_first_entry() drivers/staging/rtl8723au/core/rtw_recv.c | 47 +-- drivers/staging/rtl8723au/core/rtw_xmit.c | 26 ++--- 2 files changed, 21 insertions(+), 52 deletions(-) -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 1/3] staging: rtl8723au: core: rtw_recv: use list_first_entry_or_null()
Use list_first_entry_or_null() instead of list_empty() + container_of() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> Acked-by: Jes Sorensen <jes.soren...@redhat.com> --- drivers/staging/rtl8723au/core/rtw_recv.c | 42 --- 1 file changed, 11 insertions(+), 31 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index 0a7741c..a4dacc3 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -104,21 +104,14 @@ void _rtw_free_recv_priv23a(struct recv_priv *precvpriv) struct recv_frame *rtw_alloc_recvframe23a(struct rtw_queue *pfree_recv_queue) { struct recv_frame *pframe; - struct list_head *plist, *phead; struct rtw_adapter *padapter; struct recv_priv *precvpriv; spin_lock_bh(_recv_queue->lock); - if (list_empty(_recv_queue->queue)) - pframe = NULL; - else { - phead = get_list_head(pfree_recv_queue); - - plist = phead->next; - - pframe = container_of(plist, struct recv_frame, list); - + pframe = list_first_entry_or_null(_recv_queue->queue, + struct recv_frame, list); + if (pframe) { list_del_init(>list); padapter = pframe->adapter; if (padapter) { @@ -247,21 +240,13 @@ struct recv_buf *rtw_dequeue_recvbuf23a (struct rtw_queue *queue) { unsigned long irqL; struct recv_buf *precvbuf; - struct list_head *plist, *phead; spin_lock_irqsave(>lock, irqL); - if (list_empty(>queue)) { - precvbuf = NULL; - } else { - phead = get_list_head(queue); - - plist = phead->next; - - precvbuf = container_of(plist, struct recv_buf, list); - + precvbuf = list_first_entry_or_null(>queue, + struct recv_buf, list); + if (precvbuf) list_del_init(>list); - } spin_unlock_irqrestore(>lock, irqL); @@ -1079,22 +1064,17 @@ static int validate_recv_ctrl_frame(struct rtw_adapter *padapter, if ((psta->state & WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap & CHKBIT(psta->aid))) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_phead; struct xmit_frame *pxmitframe; struct xmit_priv *pxmitpriv = >xmitpriv; spin_lock_bh(>lock); xmitframe_phead = get_list_head(>sleep_q); - xmitframe_plist = xmitframe_phead->next; - - if (!list_empty(xmitframe_phead)) { - pxmitframe = container_of(xmitframe_plist, - struct xmit_frame, - list); - - xmitframe_plist = xmitframe_plist->next; - + pxmitframe = list_first_entry_or_null(xmitframe_phead, + struct xmit_frame, + list); + if (pxmitframe) { list_del_init(>list); psta->sleepq_len--; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] staging: rtl8723au: fix static checker warning
Fix the following static checker warning: drivers/staging/rtl8723au/core/rtw_sta_mgt.c:365 rtw_get_stainfo23a() error: potential NULL dereference 'psta'. Fixes: e280d71("staging: rtl8723au: use list_for_each_entry*()") Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c index 22d857b..5f85ee0 100644 --- a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c +++ b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c @@ -346,7 +346,7 @@ void rtw_free_all_stainfo23a(struct rtw_adapter *padapter) struct sta_info *rtw_get_stainfo23a(struct sta_priv *pstapriv, const u8 *hwaddr) { struct list_head *phead; - struct sta_info *psta = NULL; + struct sta_info *pos, *psta = NULL; u32 index; const u8 *addr; @@ -362,7 +362,9 @@ struct sta_info *rtw_get_stainfo23a(struct sta_priv *pstapriv, const u8 *hwaddr) spin_lock_bh(>sta_hash_lock); phead = >sta_hash[index]; - list_for_each_entry(psta, phead, hash_list) { + list_for_each_entry(pos, phead, hash_list) { + psta = pos; + /* if found the matched address */ if (ether_addr_equal(psta->hwaddr, addr)) break; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] staging: rtl8723au: use list_first_entry*
Use list_first_entry*() instead of container_of() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_recv.c | 49 +-- drivers/staging/rtl8723au/core/rtw_xmit.c | 26 +--- 2 files changed, 22 insertions(+), 53 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index 0a7741c..b095d09 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -104,21 +104,14 @@ void _rtw_free_recv_priv23a(struct recv_priv *precvpriv) struct recv_frame *rtw_alloc_recvframe23a(struct rtw_queue *pfree_recv_queue) { struct recv_frame *pframe; - struct list_head *plist, *phead; struct rtw_adapter *padapter; struct recv_priv *precvpriv; spin_lock_bh(_recv_queue->lock); - if (list_empty(_recv_queue->queue)) - pframe = NULL; - else { - phead = get_list_head(pfree_recv_queue); - - plist = phead->next; - - pframe = container_of(plist, struct recv_frame, list); - + pframe = list_first_entry_or_null(_recv_queue->queue, + struct recv_frame, list); + if (pframe) { list_del_init(>list); padapter = pframe->adapter; if (padapter) { @@ -243,25 +236,17 @@ int rtw_enqueue_recvbuf23a(struct recv_buf *precvbuf, struct rtw_queue *queue) return _SUCCESS; } -struct recv_buf *rtw_dequeue_recvbuf23a (struct rtw_queue *queue) +struct recv_buf *rtw_dequeue_recvbuf23a(struct rtw_queue *queue) { unsigned long irqL; struct recv_buf *precvbuf; - struct list_head *plist, *phead; spin_lock_irqsave(>lock, irqL); - if (list_empty(>queue)) { - precvbuf = NULL; - } else { - phead = get_list_head(queue); - - plist = phead->next; - - precvbuf = container_of(plist, struct recv_buf, list); - + precvbuf = list_first_entry_or_null(>queue, + struct recv_buf, list); + if (precvbuf) list_del_init(>list); - } spin_unlock_irqrestore(>lock, irqL); @@ -1079,22 +1064,17 @@ static int validate_recv_ctrl_frame(struct rtw_adapter *padapter, if ((psta->state & WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap & CHKBIT(psta->aid))) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_phead; struct xmit_frame *pxmitframe; struct xmit_priv *pxmitpriv = >xmitpriv; spin_lock_bh(>lock); xmitframe_phead = get_list_head(>sleep_q); - xmitframe_plist = xmitframe_phead->next; - - if (!list_empty(xmitframe_phead)) { - pxmitframe = container_of(xmitframe_plist, - struct xmit_frame, - list); - - xmitframe_plist = xmitframe_plist->next; - + pxmitframe = list_first_entry_or_null(xmitframe_phead, + struct xmit_frame, + list); + if (pxmitframe) { list_del_init(>list); psta->sleepq_len--; @@ -1542,7 +1522,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct rtw_queue *defrag_q) { - struct list_head *plist, *phead; + struct list_head *phead; u8 wlanhdr_offset; u8 curfragnum; struct recv_frame *pnfhdr, *ptmp; @@ -1554,8 +1534,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, pfree_recv_queue = >recvpriv.free_recv_queue; phead = get_list_head(defrag_q); - plist = phead->next; - prframe = container_of(plist, struct recv_frame, list); + prframe = list_first_entry(phead, struct recv_frame, list); list_del_init(>list); skb = prframe->pkt; diff --git a/drivers/staging/rtl8723au/core/rtw_xmit.c b/drivers/staging/rtl8723au/core/rtw_xmit.c index b82b182..3de40cf 100644 --- a/drivers/staging/rtl8723au/core/rtw_xmit.c +++ b/drivers/staging/rtl8723au/core/rtw_xmit.c @@ -1443,24 +1443,18 @@ Must be very very cautious... */ static struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv) { - struct xmi
[PATCH v5 1/3] staging: rtl8723au: use list_for_each_entry*()
Use list_for_each_entry*() instead of list_for_each*() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_ap.c | 59 drivers/staging/rtl8723au/core/rtw_mlme.c | 28 -- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 10 ++-- drivers/staging/rtl8723au/core/rtw_recv.c | 22 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 25 - drivers/staging/rtl8723au/core/rtw_xmit.c | 66 ++- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 14 +++-- drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 ++-- 8 files changed, 95 insertions(+), 138 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 1aa9b26..4ab3631 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -173,9 +173,9 @@ static u8 chk_sta_is_alive(struct sta_info *psta) void expire_timeout_chk23a(struct rtw_adapter *padapter) { - struct list_head *phead, *plist, *ptmp; + struct list_head *phead; u8 updated = 0; - struct sta_info *psta; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; u8 chk_alive_num = 0; struct sta_info *chk_alive_list[NUM_STA]; @@ -186,8 +186,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >auth_list; /* check auth_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, auth_list); + list_for_each_entry_safe(psta, ptmp, phead, auth_list) { if (psta->expire_to > 0) { psta->expire_to--; @@ -216,8 +215,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >asoc_list; /* check asoc_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; @@ -1059,7 +1057,7 @@ void rtw_set_macaddr_acl23a(struct rtw_adapter *padapter, int mode) int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead; + struct list_head *phead; u8 added = false; int i, ret = 0; struct rtw_wlan_acl_node *paclnode; @@ -1076,8 +1074,7 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each(plist, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry(paclnode, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { @@ -1121,8 +1118,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead, *ptmp; - struct rtw_wlan_acl_node *paclnode; + struct list_head *phead; + struct rtw_wlan_acl_node *paclnode, *ptmp; struct sta_priv *pstapriv = >stapriv; struct wlan_acl_pool *pacl_list = >acl_list; struct rtw_queue *pacl_node_q = _list->acl_node_q; @@ -1133,8 +1130,7 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each_safe(plist, ptmp, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry_safe(paclnode, ptmp, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { @@ -1354,19 +1350,16 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) { /* update associated stations cap. */ if (updated == true) { - struct list_head *phead, *plist, *ptmp; - struct sta_info *psta; + struct list_head *phead; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); - + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) VCS_update23a(padapter, psta); - } spin_unlock_bh(>asoc_list_lock); } @@ -1627,7 +1620,7 @@ u8 ap_free_sta23a(struct rtw_adapter *padapter, struct sta_info *psta, bool acti int rtw_ap_inform_c
[PATCH v5 3/3] staging: rtl8723au: whitespace and blank line cleaning
This patch cleans whitespaces and blank lines involved with previous two patchs in this patch set. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_ap.c | 33 +-- drivers/staging/rtl8723au/core/rtw_mlme.c | 10 --- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 3 +-- drivers/staging/rtl8723au/core/rtw_recv.c | 15 +++ drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 11 +--- drivers/staging/rtl8723au/core/rtw_xmit.c | 26 -- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 8 -- 7 files changed, 12 insertions(+), 94 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 4ab3631..ce4b589 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -171,7 +171,7 @@ static u8 chk_sta_is_alive(struct sta_info *psta) return ret; } -void expire_timeout_chk23a(struct rtw_adapter *padapter) +void expire_timeout_chk23a(struct rtw_adapter *padapter) { struct list_head *phead; u8 updated = 0; @@ -182,12 +182,9 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) int i; spin_lock_bh(>auth_list_lock); - phead = >auth_list; - /* check auth_queue */ list_for_each_entry_safe(psta, ptmp, phead, auth_list) { - if (psta->expire_to > 0) { psta->expire_to--; if (psta->expire_to == 0) { @@ -205,18 +202,13 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) spin_lock_bh(>auth_list_lock); } } - } - spin_unlock_bh(>auth_list_lock); spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - /* check asoc_queue */ list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; psta->keep_alive_trycnt = 0; @@ -281,7 +273,6 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) } } } - spin_unlock_bh(>asoc_list_lock); if (chk_alive_num) { @@ -1071,11 +1062,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) return -1; spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry(paclnode, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { added = true; @@ -1084,7 +1072,6 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); if (added) @@ -1127,11 +1114,8 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) DBG_8723A("%s(acl_num =%d) = %pM\n", __func__, pacl_list->num, addr); spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry_safe(paclnode, ptmp, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { paclnode->valid = false; @@ -1142,7 +1126,6 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); DBG_8723A("%s, acl_num =%d\n", __func__, pacl_list->num); @@ -1355,12 +1338,9 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - list_for_each_entry_safe(psta, ptmp, phead, asoc_list) VCS_update23a(padapter, psta); - spin_unlock_bh(>asoc_list_lock); } } @@ -1635,9 +1615,7 @@ int rtw_ap_inform_ch_switch23a(struct rtw_adapter *padapter, u8 new_ch, u8 ch_of spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_entry(psta, phead, asoc_list) { - issue_action_spct_ch_switch23a(padapter, psta->hwaddr, new_ch, ch_offset); psta->expire_to = ((pstapriv->expire_to * 2) > 5) ? 5 : (pstapriv->expire_to * 2); } @@ -1667,9 +1645,7 @@ int rtw_sta_flush23a(struct rtw_adapter *padapter) spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - /*
[PATCH v5 0/3] staging: rtl8723au: use list_for_each_entry*() and cleaning
On Wed, Feb 17, 2016 at 12:28:33PM -0500, Jes Sorensen wrote: > kbuild test robot <l...@intel.com> writes: > > Hi Geliang, > > > > [auto build test ERROR on staging/staging-testing] > > [also build test ERROR on v4.5-rc4 next-20160217] > > [if your patch is applied to the wrong git tree, please drop us a note to > > help improving the system] > > > > url: > > https://github.com/0day-ci/linux/commits/Geliang-Tang/staging-rtl8723au-use-list_for_each_entry/20160217-220638 > > config: i386-randconfig-s1-201607 (attached as .config) > > reproduce: > > # save the attached .config to linux build tree > > make ARCH=i386 > > > > Note: the > > linux-review/Geliang-Tang/staging-rtl8723au-use-list_for_each_entry/20160217-220638 > > HEAD 495811a52aba181af76c3baf57da3d81a79c2fe8 builds fine. > > It only hurts bisectibility. > > > > All errors (new ones prefixed by >>): > > > >drivers/staging/rtl8723au/core/rtw_recv.c: In function > > 'rtw_free_recvframe23a_queue': > >>> drivers/staging/rtl8723au/core/rtw_recv.c:203:2: error: 'plist' > >>> undeclared (first use in this function) > > plist = phead->next; > > ^ > > This doesn't work, you cannot break interim builds. Your patch 2 needs > to go before patch 1, and you must always check that they compile for > each patch you apply. > > NACK Sorry for the trouble caused. I updated my patchs to fix this problem. - Geliang This patch set uses list_for_each_entry*() instead of list_for_each*(), removes useless codes, and cleans whitespaces and blank lines. Changes in v5: - fix build error. Changes in v4: - revise the patchs as Jes suggested. Changes in v3: - split it into three patches. Changes in v2: - drop the coding style fixing in v1. Geliang Tang (3): staging: rtl8723au: use list_for_each_entry*() staging: rtl8723au: core: rtw_recv: remove useless codes staging: rtl8723au: whitespace and blank line cleaning drivers/staging/rtl8723au/core/rtw_ap.c | 92 ++- drivers/staging/rtl8723au/core/rtw_mlme.c | 38 +++--- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 13 ++-- drivers/staging/rtl8723au/core/rtw_recv.c | 42 --- drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 36 +++-- drivers/staging/rtl8723au/core/rtw_xmit.c | 90 -- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 22 ++ drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 +-- 8 files changed, 106 insertions(+), 236 deletions(-) -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v5 2/3] staging: rtl8723au: core: rtw_recv: remove useless codes
There are some useless codes in rtw_free_recvframe23a_queue() and recvframe_defrag(), so remove them. Signed-off-by: Geliang Tang <geliangt...@163.com> Acked-by: Jes Sorensen <jes.soren...@redhat.com> --- drivers/staging/rtl8723au/core/rtw_recv.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index 0b4593c..d1e0f65 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -195,12 +195,11 @@ using spinlock to protect static void rtw_free_recvframe23a_queue(struct rtw_queue *pframequeue) { struct recv_frame *hdr, *ptmp; - struct list_head *plist, *phead; + struct list_head *phead; spin_lock(>lock); phead = get_list_head(pframequeue); - plist = phead->next; list_for_each_entry_safe(hdr, ptmp, phead, list) rtw_free_recvframe23a(hdr); @@ -1547,7 +1546,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct rtw_queue *defrag_q) { struct list_head *plist, *phead; - u8 *data, wlanhdr_offset; + u8 wlanhdr_offset; u8 curfragnum; struct recv_frame *pnfhdr, *ptmp; struct recv_frame *prframe, *pnextrframe; @@ -1576,10 +1575,6 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, curfragnum++; - phead = get_list_head(defrag_q); - - data = prframe->pkt->data; - list_for_each_entry_safe(pnfhdr, ptmp, phead, list) { pnextrframe = (struct recv_frame *)pnfhdr; /* check the fragment sequence (2nd ~n fragment frame) */ -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v4 3/3] staging: rtl8723au: whitespace and blank line cleaning
This patch cleans whitespaces and blank lines involved with previous two patchs in this patch set. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_ap.c | 33 +-- drivers/staging/rtl8723au/core/rtw_mlme.c | 10 --- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 3 +-- drivers/staging/rtl8723au/core/rtw_recv.c | 15 +++ drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 11 +--- drivers/staging/rtl8723au/core/rtw_xmit.c | 26 -- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 8 -- 7 files changed, 12 insertions(+), 94 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 4ab3631..ce4b589 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -171,7 +171,7 @@ static u8 chk_sta_is_alive(struct sta_info *psta) return ret; } -void expire_timeout_chk23a(struct rtw_adapter *padapter) +void expire_timeout_chk23a(struct rtw_adapter *padapter) { struct list_head *phead; u8 updated = 0; @@ -182,12 +182,9 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) int i; spin_lock_bh(>auth_list_lock); - phead = >auth_list; - /* check auth_queue */ list_for_each_entry_safe(psta, ptmp, phead, auth_list) { - if (psta->expire_to > 0) { psta->expire_to--; if (psta->expire_to == 0) { @@ -205,18 +202,13 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) spin_lock_bh(>auth_list_lock); } } - } - spin_unlock_bh(>auth_list_lock); spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - /* check asoc_queue */ list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; psta->keep_alive_trycnt = 0; @@ -281,7 +273,6 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) } } } - spin_unlock_bh(>asoc_list_lock); if (chk_alive_num) { @@ -1071,11 +1062,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) return -1; spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry(paclnode, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { added = true; @@ -1084,7 +1072,6 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); if (added) @@ -1127,11 +1114,8 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) DBG_8723A("%s(acl_num =%d) = %pM\n", __func__, pacl_list->num, addr); spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry_safe(paclnode, ptmp, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { paclnode->valid = false; @@ -1142,7 +1126,6 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); DBG_8723A("%s, acl_num =%d\n", __func__, pacl_list->num); @@ -1355,12 +1338,9 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - list_for_each_entry_safe(psta, ptmp, phead, asoc_list) VCS_update23a(padapter, psta); - spin_unlock_bh(>asoc_list_lock); } } @@ -1635,9 +1615,7 @@ int rtw_ap_inform_ch_switch23a(struct rtw_adapter *padapter, u8 new_ch, u8 ch_of spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_entry(psta, phead, asoc_list) { - issue_action_spct_ch_switch23a(padapter, psta->hwaddr, new_ch, ch_offset); psta->expire_to = ((pstapriv->expire_to * 2) > 5) ? 5 : (pstapriv->expire_to * 2); } @@ -1667,9 +1645,7 @@ int rtw_sta_flush23a(struct rtw_adapter *padapter) spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - /*
[PATCH v4 0/3] staging: rtl8723au: use list_for_each_entry*() and cleaning
This patch set uses list_for_each_entry*() instead of list_for_each*(), removes useless codes, and cleans whitespaces and blank lines. Changes in v4: - revise the patchs as Jes suggested. Changes in v3: - split it into three patches. Changes in v2: - drop the coding style fixing in v1. Geliang Tang (3): staging: rtl8723au: use list_for_each_entry*() staging: rtl8723au: core: rtw_recv: remove useless codes staging: rtl8723au: whitespace and blank line cleaning drivers/staging/rtl8723au/core/rtw_ap.c | 92 ++- drivers/staging/rtl8723au/core/rtw_mlme.c | 38 +++--- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 13 ++-- drivers/staging/rtl8723au/core/rtw_recv.c | 42 --- drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 36 +++-- drivers/staging/rtl8723au/core/rtw_xmit.c | 90 -- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 22 ++ drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 +-- 8 files changed, 106 insertions(+), 236 deletions(-) -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v4 2/3] staging: rtl8723au: core: rtw_recv: remove useless codes
There are some useless codes in rtw_free_recvframe23a_queue() and recvframe_defrag(), so remove them. Signed-off-by: Geliang Tang <geliangt...@163.com> Acked-by: Jes Sorensen <jes.soren...@redhat.com> --- drivers/staging/rtl8723au/core/rtw_recv.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index bd93e76..d1e0f65 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -200,7 +200,6 @@ static void rtw_free_recvframe23a_queue(struct rtw_queue *pframequeue) spin_lock(>lock); phead = get_list_head(pframequeue); - plist = phead->next; list_for_each_entry_safe(hdr, ptmp, phead, list) rtw_free_recvframe23a(hdr); @@ -1547,7 +1546,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct rtw_queue *defrag_q) { struct list_head *plist, *phead; - u8 *data, wlanhdr_offset; + u8 wlanhdr_offset; u8 curfragnum; struct recv_frame *pnfhdr, *ptmp; struct recv_frame *prframe, *pnextrframe; @@ -1576,10 +1575,6 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, curfragnum++; - phead = get_list_head(defrag_q); - - data = prframe->pkt->data; - list_for_each_entry_safe(pnfhdr, ptmp, phead, list) { pnextrframe = (struct recv_frame *)pnfhdr; /* check the fragment sequence (2nd ~n fragment frame) */ -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v4 1/3] staging: rtl8723au: use list_for_each_entry*()
Use list_for_each_entry*() instead of list_for_each*() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_ap.c | 59 drivers/staging/rtl8723au/core/rtw_mlme.c | 28 -- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 10 ++-- drivers/staging/rtl8723au/core/rtw_recv.c | 22 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 25 - drivers/staging/rtl8723au/core/rtw_xmit.c | 66 ++- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 14 +++-- drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 ++-- 8 files changed, 95 insertions(+), 138 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 1aa9b26..4ab3631 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -173,9 +173,9 @@ static u8 chk_sta_is_alive(struct sta_info *psta) void expire_timeout_chk23a(struct rtw_adapter *padapter) { - struct list_head *phead, *plist, *ptmp; + struct list_head *phead; u8 updated = 0; - struct sta_info *psta; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; u8 chk_alive_num = 0; struct sta_info *chk_alive_list[NUM_STA]; @@ -186,8 +186,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >auth_list; /* check auth_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, auth_list); + list_for_each_entry_safe(psta, ptmp, phead, auth_list) { if (psta->expire_to > 0) { psta->expire_to--; @@ -216,8 +215,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >asoc_list; /* check asoc_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; @@ -1059,7 +1057,7 @@ void rtw_set_macaddr_acl23a(struct rtw_adapter *padapter, int mode) int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead; + struct list_head *phead; u8 added = false; int i, ret = 0; struct rtw_wlan_acl_node *paclnode; @@ -1076,8 +1074,7 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each(plist, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry(paclnode, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { @@ -1121,8 +1118,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead, *ptmp; - struct rtw_wlan_acl_node *paclnode; + struct list_head *phead; + struct rtw_wlan_acl_node *paclnode, *ptmp; struct sta_priv *pstapriv = >stapriv; struct wlan_acl_pool *pacl_list = >acl_list; struct rtw_queue *pacl_node_q = _list->acl_node_q; @@ -1133,8 +1130,7 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each_safe(plist, ptmp, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry_safe(paclnode, ptmp, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { @@ -1354,19 +1350,16 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) { /* update associated stations cap. */ if (updated == true) { - struct list_head *phead, *plist, *ptmp; - struct sta_info *psta; + struct list_head *phead; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); - + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) VCS_update23a(padapter, psta); - } spin_unlock_bh(>asoc_list_lock); } @@ -1627,7 +1620,7 @@ u8 ap_free_sta23a(struct rtw_adapter *padapter, struct sta_info *psta, bool acti int rtw_ap_inform_c
[PATCH v3 1/3] staging: rtl8723au: use list_for_each_entry*()
Use list_for_each_entry*() instead of list_for_each*() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> --- Changes in v3: - split it into three patches. Changes in v2: - drop the coding style fixing in v1. --- drivers/staging/rtl8723au/core/rtw_ap.c | 55 --- drivers/staging/rtl8723au/core/rtw_mlme.c | 26 - drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 10 ++-- drivers/staging/rtl8723au/core/rtw_recv.c | 22 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 25 - drivers/staging/rtl8723au/core/rtw_xmit.c | 64 ++- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 14 +++-- drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 ++-- 8 files changed, 96 insertions(+), 129 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 1aa9b26..4bcd617 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -173,9 +173,9 @@ static u8 chk_sta_is_alive(struct sta_info *psta) void expire_timeout_chk23a(struct rtw_adapter *padapter) { - struct list_head *phead, *plist, *ptmp; + struct list_head *phead; u8 updated = 0; - struct sta_info *psta; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; u8 chk_alive_num = 0; struct sta_info *chk_alive_list[NUM_STA]; @@ -186,8 +186,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >auth_list; /* check auth_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, auth_list); + list_for_each_entry_safe(psta, ptmp, phead, auth_list) { if (psta->expire_to > 0) { psta->expire_to--; @@ -216,8 +215,7 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) phead = >asoc_list; /* check asoc_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; @@ -1059,7 +1057,7 @@ void rtw_set_macaddr_acl23a(struct rtw_adapter *padapter, int mode) int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead; + struct list_head *phead; u8 added = false; int i, ret = 0; struct rtw_wlan_acl_node *paclnode; @@ -1076,8 +1074,7 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each(plist, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry(paclnode, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { @@ -1121,8 +1118,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead, *ptmp; - struct rtw_wlan_acl_node *paclnode; + struct list_head *phead; + struct rtw_wlan_acl_node *paclnode, *ptmp; struct sta_priv *pstapriv = >stapriv; struct wlan_acl_pool *pacl_list = >acl_list; struct rtw_queue *pacl_node_q = _list->acl_node_q; @@ -1133,8 +1130,7 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) phead = get_list_head(pacl_node_q); - list_for_each_safe(plist, ptmp, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); + list_for_each_entry_safe(paclnode, ptmp, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { @@ -1354,16 +1350,15 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) { /* update associated stations cap. */ if (updated == true) { - struct list_head *phead, *plist, *ptmp; - struct sta_info *psta; + struct list_head *phead; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { VCS_update23a(padapter, psta); } @@ -1627,7 +1622,7 @@ u8 ap_free_sta23a(struct rtw_adapter *padapter, struct sta_info *psta,
[PATCH v3 2/3] staging: rtl8723au: core: rtw_recv: remove useless codes
There are some useless codes in rtw_free_recvframe23a_queue() and recvframe_defrag(), so remove them. Signed-off-by: Geliang Tang <geliangt...@163.com> --- Changes in v3: - split it into three patches. Changes in v2: - drop the coding style fixing in v1. --- drivers/staging/rtl8723au/core/rtw_recv.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c index 18b7d03..b36bc6b 100644 --- a/drivers/staging/rtl8723au/core/rtw_recv.c +++ b/drivers/staging/rtl8723au/core/rtw_recv.c @@ -201,7 +201,6 @@ static void rtw_free_recvframe23a_queue(struct rtw_queue *pframequeue) spin_lock(>lock); phead = get_list_head(pframequeue); - plist = phead->next; list_for_each_entry_safe(hdr, ptmp, phead, list) { rtw_free_recvframe23a(hdr); @@ -1567,7 +1566,7 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, struct rtw_queue *defrag_q) { struct list_head *plist, *phead; - u8 *data, wlanhdr_offset; + u8 wlanhdr_offset; u8 curfragnum; struct recv_frame *pnfhdr, *ptmp; struct recv_frame *prframe, *pnextrframe; @@ -1596,10 +1595,6 @@ struct recv_frame *recvframe_defrag(struct rtw_adapter *adapter, curfragnum++; - phead = get_list_head(defrag_q); - - data = prframe->pkt->data; - list_for_each_entry_safe(pnfhdr, ptmp, phead, list) { pnextrframe = (struct recv_frame *)pnfhdr; /* check the fragment sequence (2nd ~n fragment frame) */ -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v3 3/3] staging: rtl8723au: whitespace and blank line cleaning
This patch cleans whitespaces and blank lines surrounding list_for_each_entry*(). Signed-off-by: Geliang Tang <geliangt...@163.com> --- Changes in v3: - split it into three patches. Changes in v2: - drop the coding style fixing in v1. --- drivers/staging/rtl8723au/core/rtw_ap.c | 41 ++- drivers/staging/rtl8723au/core/rtw_mlme.c | 14 +--- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 3 +- drivers/staging/rtl8723au/core/rtw_recv.c | 18 +++--- drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 11 +- drivers/staging/rtl8723au/core/rtw_xmit.c | 30 - drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 8 - 7 files changed, 17 insertions(+), 108 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 4bcd617..ce4b589 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -171,7 +171,7 @@ static u8 chk_sta_is_alive(struct sta_info *psta) return ret; } -void expire_timeout_chk23a(struct rtw_adapter *padapter) +void expire_timeout_chk23a(struct rtw_adapter *padapter) { struct list_head *phead; u8 updated = 0; @@ -182,12 +182,9 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) int i; spin_lock_bh(>auth_list_lock); - phead = >auth_list; - /* check auth_queue */ list_for_each_entry_safe(psta, ptmp, phead, auth_list) { - if (psta->expire_to > 0) { psta->expire_to--; if (psta->expire_to == 0) { @@ -205,18 +202,13 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) spin_lock_bh(>auth_list_lock); } } - } - spin_unlock_bh(>auth_list_lock); spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - /* check asoc_queue */ list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; psta->keep_alive_trycnt = 0; @@ -281,7 +273,6 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) } } } - spin_unlock_bh(>asoc_list_lock); if (chk_alive_num) { @@ -1071,11 +1062,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) return -1; spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry(paclnode, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { added = true; @@ -1084,7 +1072,6 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); if (added) @@ -1127,11 +1114,8 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) DBG_8723A("%s(acl_num =%d) = %pM\n", __func__, pacl_list->num, addr); spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - list_for_each_entry_safe(paclnode, ptmp, phead, list) { - if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid) { paclnode->valid = false; @@ -1142,7 +1126,6 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); DBG_8723A("%s, acl_num =%d\n", __func__, pacl_list->num); @@ -1355,14 +1338,9 @@ void associated_clients_update23a(struct rtw_adapter *padapter, u8 updated) struct sta_priv *pstapriv = >stapriv; spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - - list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { - + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) VCS_update23a(padapter, psta); - } - spin_unlock_bh(>asoc_list_lock); } } @@ -1637,9 +1615,7 @@ int rtw_ap_inform_ch_switch23a(struct rtw_adapter *padapter, u8 new_ch, u8 ch_of spin_lock_bh(>asoc_list_lock); phead = >asoc_list; - list_for_each_entry(psta, phead, asoc_list) { - issue_action_spct_ch_switch23a(padapter, psta->hwaddr, new_ch, ch_offset); psta->expire_to = ((pstapriv->expire_to * 2) > 5) ? 5 : (pstapriv->expire_to * 2); } @@ -1669,9 +1645,7 @@ int rtw_sta_flush23a(struct rtw_ada
[PATCH v2] staging: rtl8723au: use list_for_each_entry*()
Use list_for_each_entry*() instead of list_for_each*() to simplify the code. Signed-off-by: Geliang Tang <geliangt...@163.com> --- Changes in v2: - drop the coding style fixing in v1. --- drivers/staging/rtl8723au/core/rtw_ap.c | 92 ++- drivers/staging/rtl8723au/core/rtw_mlme.c | 38 +++--- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 15 +--- drivers/staging/rtl8723au/core/rtw_recv.c | 43 --- drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 36 +++-- drivers/staging/rtl8723au/core/rtw_xmit.c | 90 -- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 22 ++ drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 +-- 8 files changed, 106 insertions(+), 239 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 1aa9b26..ce4b589 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -171,24 +171,20 @@ static u8 chk_sta_is_alive(struct sta_info *psta) return ret; } -void expire_timeout_chk23a(struct rtw_adapter *padapter) +void expire_timeout_chk23a(struct rtw_adapter *padapter) { - struct list_head *phead, *plist, *ptmp; + struct list_head *phead; u8 updated = 0; - struct sta_info *psta; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; u8 chk_alive_num = 0; struct sta_info *chk_alive_list[NUM_STA]; int i; spin_lock_bh(>auth_list_lock); - phead = >auth_list; - /* check auth_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, auth_list); - + list_for_each_entry_safe(psta, ptmp, phead, auth_list) { if (psta->expire_to > 0) { psta->expire_to--; if (psta->expire_to == 0) { @@ -206,19 +202,13 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) spin_lock_bh(>auth_list_lock); } } - } - spin_unlock_bh(>auth_list_lock); spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - /* check asoc_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); - + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; psta->keep_alive_trycnt = 0; @@ -283,7 +273,6 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) } } } - spin_unlock_bh(>asoc_list_lock); if (chk_alive_num) { @@ -1059,7 +1048,7 @@ void rtw_set_macaddr_acl23a(struct rtw_adapter *padapter, int mode) int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead; + struct list_head *phead; u8 added = false; int i, ret = 0; struct rtw_wlan_acl_node *paclnode; @@ -1073,12 +1062,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) return -1; spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - - list_for_each(plist, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); - + list_for_each_entry(paclnode, phead, list) { if (!memcmp(paclnode->addr, addr, ETH_ALEN)) { if (paclnode->valid == true) { added = true; @@ -1087,7 +1072,6 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) } } } - spin_unlock_bh(_node_q->lock); if (added) @@ -1121,8 +1105,8 @@ int rtw_acl_add_sta23a(struct rtw_adapter *padapter, u8 *addr) int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) { - struct list_head *plist, *phead, *ptmp; - struct rtw_wlan_acl_node *paclnode; + struct list_head *phead; + struct rtw_wlan_acl_node *paclnode, *ptmp; struct sta_priv *pstapriv = >stapriv; struct wlan_acl_pool *pacl_list = >acl_list; struct rtw_queue *pacl_node_q = _list->acl_node_q; @@ -1130,12 +1114,8 @@ int rtw_acl_remove_sta23a(struct rtw_adapter *padapter, u8 *addr) DBG_8723A("%s(acl_num =%d) = %pM\n", __func__, pacl_list->num, addr); spin_lock_bh(_node_q->lock); - phead = get_list_head(pacl_node_q); - - list_for_each_safe(plist, ptmp, phead) { - paclnode = container_of(plist, struct rtw_wlan_acl_node, list); - + list_for_each_entry_saf
[PATCH] staging: rtl8723au: use list_for_each_entry*()
Use list_for_each_entry*() instead of list_for_each*() to simplify the code. Fix coding style by the way. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/rtl8723au/core/rtw_ap.c | 166 -- drivers/staging/rtl8723au/core/rtw_mlme.c | 38 ++--- drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 13 +- drivers/staging/rtl8723au/core/rtw_recv.c | 43 ++ drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 34 ++--- drivers/staging/rtl8723au/core/rtw_xmit.c | 84 --- drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 22 +-- drivers/staging/rtl8723au/os_dep/usb_ops_linux.c | 9 +- 8 files changed, 140 insertions(+), 269 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c index 1aa9b26..66315f9 100644 --- a/drivers/staging/rtl8723au/core/rtw_ap.c +++ b/drivers/staging/rtl8723au/core/rtw_ap.c @@ -171,24 +171,20 @@ static u8 chk_sta_is_alive(struct sta_info *psta) return ret; } -void expire_timeout_chk23a(struct rtw_adapter *padapter) +void expire_timeout_chk23a(struct rtw_adapter *padapter) { - struct list_head *phead, *plist, *ptmp; + struct list_head *phead; u8 updated = 0; - struct sta_info *psta; + struct sta_info *psta, *ptmp; struct sta_priv *pstapriv = >stapriv; u8 chk_alive_num = 0; struct sta_info *chk_alive_list[NUM_STA]; int i; spin_lock_bh(>auth_list_lock); - phead = >auth_list; - /* check auth_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, auth_list); - + list_for_each_entry_safe(psta, ptmp, phead, auth_list) { if (psta->expire_to > 0) { psta->expire_to--; if (psta->expire_to == 0) { @@ -206,19 +202,13 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) spin_lock_bh(>auth_list_lock); } } - } - spin_unlock_bh(>auth_list_lock); spin_lock_bh(>asoc_list_lock); - phead = >asoc_list; - /* check asoc_queue */ - list_for_each_safe(plist, ptmp, phead) { - psta = container_of(plist, struct sta_info, asoc_list); - + list_for_each_entry_safe(psta, ptmp, phead, asoc_list) { if (chk_sta_is_alive(psta) || !psta->expire_to) { psta->expire_to = pstapriv->expire_to; psta->keep_alive_trycnt = 0; @@ -283,7 +273,6 @@ voidexpire_timeout_chk23a(struct rtw_adapter *padapter) } } } - spin_unlock_bh(>asoc_list_lock); if (chk_alive_num) { @@ -299,51 +288,55 @@ void expire_timeout_chk23a(struct rtw_adapter *padapter) SelectChannel23a(padapter, pmlmeext->cur_channel); } - /* issue null data to check sta alive */ - for (i = 0; i < chk_alive_num; i++) { + /* issue null data to check sta alive */ + for (i = 0; i < chk_alive_num; i++) { - int ret = _FAIL; + int ret = _FAIL; - psta = chk_alive_list[i]; - if (!(psta->state & _FW_LINKED)) - continue; + psta = chk_alive_list[i]; + if (!(psta->state & _FW_LINKED)) + continue; - if (psta->state & WIFI_SLEEP_STATE) - ret = issue_nulldata23a(padapter, psta->hwaddr, 0, 1, 50); - else - ret = issue_nulldata23a(padapter, psta->hwaddr, 0, 3, 50); + if (psta->state & WIFI_SLEEP_STATE) + ret = issue_nulldata23a(padapter, psta->hwaddr, + 0, 1, 50); + else + ret = issue_nulldata23a(padapter, psta->hwaddr, + 0, 3, 50); + + psta->keep_alive_trycnt++; + if (ret == _SUCCESS) { + DBG_8723A("asoc check, sta(%pM) is alive\n", + psta->hwaddr); + psta->expire_to = pstapriv->expire_to; + psta->keep_alive_trycnt = 0; + continue; + } else if (psta->keep_alive_trycnt <= 3) { + DBG_8723A("ack check for asoc expire, keep_alive_trycnt = %d\n", +
[PATCH 2/6] wlcore: use to_delayed_work
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/ti/wlcore/main.c | 10 +- drivers/net/wireless/ti/wlcore/ps.c | 2 +- drivers/net/wireless/ti/wlcore/scan.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index ec7f6af..5c12caa 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -244,7 +244,7 @@ static void wl12xx_tx_watchdog_work(struct work_struct *work) struct delayed_work *dwork; struct wl1271 *wl; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wl = container_of(dwork, struct wl1271, tx_watchdog_work); mutex_lock(>mutex); @@ -2085,7 +2085,7 @@ static void wlcore_channel_switch_work(struct work_struct *work) struct wl12xx_vif *wlvif; int ret; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wlvif = container_of(dwork, struct wl12xx_vif, channel_switch_work); wl = wlvif->wl; @@ -2121,7 +2121,7 @@ static void wlcore_connection_loss_work(struct work_struct *work) struct ieee80211_vif *vif; struct wl12xx_vif *wlvif; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wlvif = container_of(dwork, struct wl12xx_vif, connection_loss_work); wl = wlvif->wl; @@ -2150,7 +2150,7 @@ static void wlcore_pending_auth_complete_work(struct work_struct *work) unsigned long time_spare; int ret; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wlvif = container_of(dwork, struct wl12xx_vif, pending_auth_complete_work); wl = wlvif->wl; @@ -5660,7 +5660,7 @@ static void wlcore_roc_complete_work(struct work_struct *work) struct wl1271 *wl; int ret; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wl = container_of(dwork, struct wl1271, roc_complete_work); ret = wlcore_roc_completed(wl); diff --git a/drivers/net/wireless/ti/wlcore/ps.c b/drivers/net/wireless/ti/wlcore/ps.c index 4cd316e..d4420da 100644 --- a/drivers/net/wireless/ti/wlcore/ps.c +++ b/drivers/net/wireless/ti/wlcore/ps.c @@ -38,7 +38,7 @@ void wl1271_elp_work(struct work_struct *work) struct wl12xx_vif *wlvif; int ret; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wl = container_of(dwork, struct wl1271, elp_work); wl1271_debug(DEBUG_PSM, "elp work"); diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c index 1e3d51c..a384f3f 100644 --- a/drivers/net/wireless/ti/wlcore/scan.c +++ b/drivers/net/wireless/ti/wlcore/scan.c @@ -38,7 +38,7 @@ void wl1271_scan_complete_work(struct work_struct *work) struct wl12xx_vif *wlvif; int ret; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wl = container_of(dwork, struct wl1271, scan_complete_work); wl1271_debug(DEBUG_SCAN, "Scanning complete"); -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/6] mwifiex: use to_delayed_work
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/marvell/mwifiex/11h.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/11h.c b/drivers/net/wireless/marvell/mwifiex/11h.c index 71a1b58..81c60d0 100644 --- a/drivers/net/wireless/marvell/mwifiex/11h.c +++ b/drivers/net/wireless/marvell/mwifiex/11h.c @@ -123,8 +123,7 @@ void mwifiex_11h_process_join(struct mwifiex_private *priv, u8 **buffer, void mwifiex_dfs_cac_work_queue(struct work_struct *work) { struct cfg80211_chan_def chandef; - struct delayed_work *delayed_work = - container_of(work, struct delayed_work, work); + struct delayed_work *delayed_work = to_delayed_work(work); struct mwifiex_private *priv = container_of(delayed_work, struct mwifiex_private, dfs_cac_work); @@ -289,8 +288,7 @@ int mwifiex_11h_handle_radar_detected(struct mwifiex_private *priv, void mwifiex_dfs_chan_sw_work_queue(struct work_struct *work) { struct mwifiex_uap_bss_param *bss_cfg; - struct delayed_work *delayed_work = - container_of(work, struct delayed_work, work); + struct delayed_work *delayed_work = to_delayed_work(work); struct mwifiex_private *priv = container_of(delayed_work, struct mwifiex_private, dfs_chan_sw_work); -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 4/6] rtlwifi: use to_delayed_work
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/realtek/rtlwifi/wifi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h index 4544752..d37ce16 100644 --- a/drivers/net/wireless/realtek/rtlwifi/wifi.h +++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h @@ -2873,7 +2873,7 @@ value to host byte ordering.*/ (ppsc->cur_ps_level |= _ps_flg) #define container_of_dwork_rtl(x, y, z) \ - container_of(container_of(x, struct delayed_work, work), y, z) + container_of(to_delayed_work(x), y, z) #define FILL_OCTET_STRING(_os, _octet, _len) \ (_os).octet = (u8 *)(_octet); \ -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/6] cfg80211/mac80211: use to_delayed_work
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- net/mac80211/mlme.c | 3 +-- net/wireless/mlme.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 1c342e2..ea70917 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1638,8 +1638,7 @@ void ieee80211_dynamic_ps_timer(unsigned long data) void ieee80211_dfs_cac_timer_work(struct work_struct *work) { - struct delayed_work *delayed_work = - container_of(work, struct delayed_work, work); + struct delayed_work *delayed_work = to_delayed_work(work); struct ieee80211_sub_if_data *sdata = container_of(delayed_work, struct ieee80211_sub_if_data, dfs_cac_timer_work); diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c index fb44fa3..4fccf52 100644 --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c @@ -721,7 +721,7 @@ void cfg80211_dfs_channels_update_work(struct work_struct *work) unsigned long timeout, next_time = 0; int bandid, i; - delayed_work = container_of(work, struct delayed_work, work); + delayed_work = to_delayed_work(work); rdev = container_of(delayed_work, struct cfg80211_registered_device, dfs_update_channels_wk); wiphy = >wiphy; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 3/6] wl1251: use to_delayed_work
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/ti/wl1251/ps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ti/wl1251/ps.c b/drivers/net/wireless/ti/wl1251/ps.c index b9e27b9..fa01b0a 100644 --- a/drivers/net/wireless/ti/wl1251/ps.c +++ b/drivers/net/wireless/ti/wl1251/ps.c @@ -32,7 +32,7 @@ void wl1251_elp_work(struct work_struct *work) struct delayed_work *dwork; struct wl1251 *wl; - dwork = container_of(work, struct delayed_work, work); + dwork = to_delayed_work(work); wl = container_of(dwork, struct wl1251, elp_work); wl1251_debug(DEBUG_PSM, "elp work"); -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/9] ipw2x00: sdhci-pci: use to_pci_dev()
Use to_pci_dev() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/intel/ipw2x00/ipw2100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c index 36818c7..121294f 100644 --- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c @@ -3514,7 +3514,7 @@ static void ipw2100_msg_free(struct ipw2100_priv *priv) static ssize_t show_pci(struct device *d, struct device_attribute *attr, char *buf) { - struct pci_dev *pci_dev = container_of(d, struct pci_dev, dev); + struct pci_dev *pci_dev = to_pci_dev(d); char *out = buf; int i, j; u32 val; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/3] NFC: trf7970a: use to_spi_device
Use to_spi_device() instead of open-coding it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/nfc/trf7970a.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index f857feb..10842b7 100644 --- a/drivers/nfc/trf7970a.c +++ b/drivers/nfc/trf7970a.c @@ -2139,7 +2139,7 @@ static int trf7970a_remove(struct spi_device *spi) #ifdef CONFIG_PM_SLEEP static int trf7970a_suspend(struct device *dev) { - struct spi_device *spi = container_of(dev, struct spi_device, dev); + struct spi_device *spi = to_spi_device(dev); struct trf7970a *trf = spi_get_drvdata(spi); dev_dbg(dev, "Suspend\n"); @@ -2155,7 +2155,7 @@ static int trf7970a_suspend(struct device *dev) static int trf7970a_resume(struct device *dev) { - struct spi_device *spi = container_of(dev, struct spi_device, dev); + struct spi_device *spi = to_spi_device(dev); struct trf7970a *trf = spi_get_drvdata(spi); int ret; @@ -2174,7 +2174,7 @@ static int trf7970a_resume(struct device *dev) #ifdef CONFIG_PM static int trf7970a_pm_runtime_suspend(struct device *dev) { - struct spi_device *spi = container_of(dev, struct spi_device, dev); + struct spi_device *spi = to_spi_device(dev); struct trf7970a *trf = spi_get_drvdata(spi); int ret; @@ -2191,7 +2191,7 @@ static int trf7970a_pm_runtime_suspend(struct device *dev) static int trf7970a_pm_runtime_resume(struct device *dev) { - struct spi_device *spi = container_of(dev, struct spi_device, dev); + struct spi_device *spi = to_spi_device(dev); struct trf7970a *trf = spi_get_drvdata(spi); int ret; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 4/7] iwlwifi: fix a problematic usage of WARN_ON_ONCE()
WARN_ON_ONCE() takes a condition rather than a format string. This patch converted WARN_ON_ONCE() to WARN_ONCE() instead. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/intel/iwlwifi/mvm/rs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rs.c b/drivers/net/wireless/intel/iwlwifi/mvm/rs.c index d1ad103..58d7bee 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rs.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rs.c @@ -1827,7 +1827,7 @@ static int rs_switch_to_column(struct iwl_mvm *mvm, rate->type = lq_sta->is_vht ? LQ_VHT_MIMO2 : LQ_HT_MIMO2; rate_mask = lq_sta->active_mimo2_rate; } else { - WARN_ON_ONCE("Bad column mode"); + WARN_ONCE(1, "Bad column mode"); } if (column->mode != RS_LEGACY) { -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/9] staging: wilc1000: fix trivial typos
s/regsiter/register/ Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/staging/wilc1000/linux_wlan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index ccab89f..6dc5faf 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -1880,10 +1880,10 @@ static void __exit exit_wilc_driver(void) } #ifndef WILC_SDIO - PRINT_D(INIT_DBG, "SPI unregsiter...\n"); + PRINT_D(INIT_DBG, "SPI unregister...\n"); spi_unregister_driver(_bus); #else - PRINT_D(INIT_DBG, "SDIO unregsiter...\n"); + PRINT_D(INIT_DBG, "SDIO unregister...\n"); sdio_unregister_driver(_bus); #endif -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] ath6kl: drop unlikely behind WARN_ON()
WARN_ON() already contain an unlikely compiler flag. Drop it. Signed-off-by: Geliang Tang <geliangt...@163.com> --- Changes in v2: - change subject prefix to ath6kl. --- drivers/net/wireless/ath/ath6kl/cfg80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c index a511ef3..fe38fc4 100644 --- a/drivers/net/wireless/ath/ath6kl/cfg80211.c +++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c @@ -2217,7 +2217,7 @@ static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow) /* enter / leave wow suspend on first vif always */ first_vif = ath6kl_vif_first(ar); - if (WARN_ON(unlikely(!first_vif)) || + if (WARN_ON(!first_vif) || !ath6kl_cfg80211_ready(first_vif)) return -EIO; @@ -2297,7 +2297,7 @@ static int ath6kl_wow_resume(struct ath6kl *ar) int ret; vif = ath6kl_vif_first(ar); - if (WARN_ON(unlikely(!vif)) || + if (WARN_ON(!vif) || !ath6kl_cfg80211_ready(vif)) return -EIO; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mwifiex: fix a comment typo
Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangt...@163.com> --- drivers/net/wireless/mwifiex/cfg80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c index 30cbafb..b7ac45f 100644 --- a/drivers/net/wireless/mwifiex/cfg80211.c +++ b/drivers/net/wireless/mwifiex/cfg80211.c @@ -2374,7 +2374,7 @@ mwifiex_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev) * CFG802.11 operation handler for scan request. * * This function issues a scan request to the firmware based upon - * the user specified scan configuration. On successfull completion, + * the user specified scan configuration. On successful completion, * it also informs the results. */ static int -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html