Re: [staging:staging-testing 54/54] drivers/staging/r8188eu/core/rtw_pwrctrl.c:400:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is false

2022-07-30 Thread Phillip Potter
On Sat, Jul 30, 2022 at 01:08:23PM +0200, Greg Kroah-Hartman wrote:
> On Sat, Jul 30, 2022 at 04:14:57PM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
> > staging-testing
> > head:   f3a76018dd55d8ddcd28cb47049f46ae5c0ce557
> > commit: f3a76018dd55d8ddcd28cb47049f46ae5c0ce557 [54/54] staging: r8188eu: 
> > remove initializer from ret in rtw_pwr_wakeup
> > config: hexagon-randconfig-r015-20220729 
> > (https://download.01.org/0day-ci/archive/20220730/202207301623.bfmklfhv-...@intel.com/config)
> > compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 
> > 52cd00cabf479aa7eb6dbb063b7ba41ea57bce9e)
> > reproduce (this is a W=1 build):
> > wget 
> > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
> > ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > # 
> > https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?id=f3a76018dd55d8ddcd28cb47049f46ae5c0ce557
> > git remote add staging 
> > https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
> > git fetch --no-tags staging staging-testing
> > git checkout f3a76018dd55d8ddcd28cb47049f46ae5c0ce557
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
> > O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/staging/r8188eu/
> > 
> > If you fix the issue, kindly add following tag where applicable
> > Reported-by: kernel test robot 
> > 
> > All warnings (new ones prefixed by >>):
> > 
> > >> drivers/staging/r8188eu/core/rtw_pwrctrl.c:400:6: warning: variable 
> > >> 'ret' is used uninitialized whenever 'if' condition is false 
> > >> [-Wsometimes-uninitialized]
> >if (padapter->bDriverStopped || !padapter->bup || 
> > !padapter->hw_init_completed) {
> >
> > ^~
> >drivers/staging/r8188eu/core/rtw_pwrctrl.c:409:9: note: uninitialized 
> > use occurs here
> >return ret;
> >   ^~~
> >drivers/staging/r8188eu/core/rtw_pwrctrl.c:400:2: note: remove the 'if' 
> > if its condition is always true
> >if (padapter->bDriverStopped || !padapter->bup || 
> > !padapter->hw_init_completed) {
> >
> > ^~~~
> >drivers/staging/r8188eu/core/rtw_pwrctrl.c:384:9: note: initialize the 
> > variable 'ret' to silence this warning
> >int ret;
> >   ^
> >= 0
> >1 warning generated.
> 
> Phillip, can you send a follow-up patch for this issue?
> 
> thanks,
> 
> greg k-h

Yes, of course. It will be a few hours though if that's ok - I've had
to pop out to send this as someone decided to steal some telecoms cabling,
thus knocking out DSL for us and three neighbouring towns :-)

Regards,
Phil
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 0/6] staging: rtl8723bs: remove DBG_COUNTER

2021-02-16 Thread Phillip Potter
On Tue, Feb 16, 2021 at 12:24:38PM +0300, Dan Carpenter wrote:
> Looks good.
> 
> Reviewed-by: Dan Carpenter 
> 
> regards,
> dan carpenter
> 

Thank you Dan.

Regards,
Phil
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 4/6] staging: rtl8723bs: remove DBG_COUNTER calls from core/rtw_recv.c

2021-02-15 Thread Phillip Potter
Remove all DBG_COUNTER macro calls from core/rtw_recv.c, as the
corresponding variables are only ever written to and not used. This
makes the code cleaner, and is necessary prior to removing the
DBG_COUNTER definition itself.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/core/rtw_recv.c | 44 ++-
 1 file changed, 3 insertions(+), 41 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c 
b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 3c9dbd7443d9..f35a134bb75f 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -445,8 +445,6 @@ union recv_frame *decryptor(struct adapter *padapter, union 
recv_frame *precv_fr
union recv_frame *return_packet = precv_frame;
u32  res = _SUCCESS;
 
-   DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt);
-
RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("prxstat->decrypted =%x 
prxattrib->encrypt = 0x%03x\n", prxattrib->bdecrypted, prxattrib->encrypt));
 
if (prxattrib->encrypt > 0) {
@@ -485,15 +483,12 @@ union recv_frame *decryptor(struct adapter *padapter, 
union recv_frame *precv_fr
switch (prxattrib->encrypt) {
case _WEP40_:
case _WEP104_:
-   DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt_wep);
rtw_wep_decrypt(padapter, (u8 *)precv_frame);
break;
case _TKIP_:
-   
DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt_tkip);
res = rtw_tkip_decrypt(padapter, (u8 *)precv_frame);
break;
case _AES_:
-   DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt_aes);
res = rtw_aes_decrypt(padapter, (u8 *)precv_frame);
break;
default:
@@ -502,8 +497,6 @@ union recv_frame *decryptor(struct adapter *padapter, union 
recv_frame *precv_fr
} else if (prxattrib->bdecrypted == 1 && prxattrib->encrypt > 0 &&
   (psecuritypriv->busetkipkey == 1 || prxattrib->encrypt != 
_TKIP_)
) {
-   DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt_hw);
-
psecuritypriv->hw_decrypted = true;
#ifdef DBG_RX_DECRYPTOR
DBG_871X("[%s] %d:prxstat->bdecrypted:%d,  
prxattrib->encrypt:%d,  Setting psecuritypriv->hw_decrypted = %d\n",
@@ -515,7 +508,6 @@ union recv_frame *decryptor(struct adapter *padapter, union 
recv_frame *precv_fr
 
#endif
} else {
-   DBG_COUNTER(padapter->rx_logs.core_rx_post_decrypt_unknown);
#ifdef DBG_RX_DECRYPTOR
DBG_871X("[%s] %d:prxstat->bdecrypted:%d,  
prxattrib->encrypt:%d,  Setting psecuritypriv->hw_decrypted = %d\n",
__func__,
@@ -1488,7 +1480,6 @@ sint validate_recv_frame(struct adapter *adapter, union 
recv_frame *precv_frame)
if (ver != 0) {
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, 
("validate_recv_data_frame fail! (ver!= 0)\n"));
retval = _FAIL;
-   DBG_COUNTER(adapter->rx_logs.core_rx_pre_ver_err);
goto exit;
}
 
@@ -1515,39 +1506,29 @@ sint validate_recv_frame(struct adapter *adapter, union 
recv_frame *precv_frame)
 
switch (type) {
case WIFI_MGT_TYPE: /* mgnt */
-   DBG_COUNTER(adapter->rx_logs.core_rx_pre_mgmt);
if (validate_80211w_mgmt(adapter, precv_frame) == _FAIL) {
retval = _FAIL;
-   
DBG_COUNTER(padapter->rx_logs.core_rx_pre_mgmt_err_80211w);
break;
}
 
retval = validate_recv_mgnt_frame(adapter, precv_frame);
-   if (retval == _FAIL) {
+   if (retval == _FAIL)
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, 
("validate_recv_mgnt_frame fail\n"));
-   DBG_COUNTER(adapter->rx_logs.core_rx_pre_mgmt_err);
-   }
retval = _FAIL; /*  only data frame return _SUCCESS */
break;
case WIFI_CTRL_TYPE: /* ctrl */
-   DBG_COUNTER(adapter->rx_logs.core_rx_pre_ctrl);
retval = validate_recv_ctrl_frame(adapter, precv_frame);
-   if (retval == _FAIL) {
+   if (retval == _FAIL)
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, 
("validate_recv_ctrl_frame fail\n"));
-   DBG_COUNTER(adapter->rx_logs.core_rx_pre_ctrl_err);
-   }
retval = _FAIL; /*  only data frame return _SUCCESS */
break;
case WIFI_DATA_TYPE: /* data */
-  

[PATCH 5/6] staging: rtl8723bs: remove DBG_COUNTER definition from rtw_debug.h

2021-02-15 Thread Phillip Potter
Remove DBG_COUNTER macro definition from include/rtw_debug.h, as
all uses of it have now been removed and it is no longer required.
The DBG_COUNTER incremented values were never actually used anywhere
else in the driver.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/rtw_debug.h | 6 --
 1 file changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h 
b/drivers/staging/rtl8723bs/include/rtw_debug.h
index c90adfb87261..d1c557818305 100644
--- a/drivers/staging/rtl8723bs/include/rtw_debug.h
+++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
@@ -252,12 +252,6 @@
 #endif /* defined(_dbgdump) */
 #endif /* DEBUG_RTL871X */
 
-#ifdef CONFIG_DBG_COUNTER
-#define DBG_COUNTER(counter) counter++
-#else
-#define DBG_COUNTER(counter) do {} while (0)
-#endif
-
 void dump_drv_version(void *sel);
 void dump_log_level(void *sel);
 
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 6/6] staging: rtl8723bs: remove rx_logs/tx_logs/int_logs from drv_types.h

2021-02-15 Thread Phillip Potter
Remove the rx_logs/tx_logs/int_logs struct definitions and their
inclusion within struct adapter as fields, from include/drv_types.h.
They were conditionally compiled based on CONFIG_DBG_COUNTER which
now has no other users in the driver, and were only ever accessed
in a write only fashion via the DBG_COUNTER macro, which has also
been removed.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/drv_types.h | 131 --
 1 file changed, 131 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/drv_types.h 
b/drivers/staging/rtl8723bs/include/drv_types.h
index c73f581aea06..cfde6e3ba400 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -219,131 +219,6 @@ struct registry_priv {
 #define GET_IFACE_NUMS(padapter) (((struct adapter 
*)padapter)->dvobj->iface_nums)
 #define GET_ADAPTER(padapter, iface_id) (((struct adapter 
*)padapter)->dvobj->padapters[iface_id])
 
-#ifdef CONFIG_DBG_COUNTER
-
-struct rx_logs {
-   u32 intf_rx;
-   u32 intf_rx_err_recvframe;
-   u32 intf_rx_err_skb;
-   u32 intf_rx_report;
-   u32 core_rx;
-   u32 core_rx_pre;
-   u32 core_rx_pre_ver_err;
-   u32 core_rx_pre_mgmt;
-   u32 core_rx_pre_mgmt_err_80211w;
-   u32 core_rx_pre_mgmt_err;
-   u32 core_rx_pre_ctrl;
-   u32 core_rx_pre_ctrl_err;
-   u32 core_rx_pre_data;
-   u32 core_rx_pre_data_wapi_seq_err;
-   u32 core_rx_pre_data_wapi_key_err;
-   u32 core_rx_pre_data_handled;
-   u32 core_rx_pre_data_err;
-   u32 core_rx_pre_data_unknown;
-   u32 core_rx_pre_unknown;
-   u32 core_rx_enqueue;
-   u32 core_rx_dequeue;
-   u32 core_rx_post;
-   u32 core_rx_post_decrypt;
-   u32 core_rx_post_decrypt_wep;
-   u32 core_rx_post_decrypt_tkip;
-   u32 core_rx_post_decrypt_aes;
-   u32 core_rx_post_decrypt_wapi;
-   u32 core_rx_post_decrypt_hw;
-   u32 core_rx_post_decrypt_unknown;
-   u32 core_rx_post_decrypt_err;
-   u32 core_rx_post_defrag_err;
-   u32 core_rx_post_portctrl_err;
-   u32 core_rx_post_indicate;
-   u32 core_rx_post_indicate_in_oder;
-   u32 core_rx_post_indicate_reoder;
-   u32 core_rx_post_indicate_err;
-   u32 os_indicate;
-   u32 os_indicate_ap_mcast;
-   u32 os_indicate_ap_forward;
-   u32 os_indicate_ap_self;
-   u32 os_indicate_err;
-   u32 os_netif_ok;
-   u32 os_netif_err;
-};
-
-struct tx_logs {
-   u32 os_tx;
-   u32 os_tx_err_up;
-   u32 os_tx_err_xmit;
-   u32 os_tx_m2u;
-   u32 os_tx_m2u_ignore_fw_linked;
-   u32 os_tx_m2u_ignore_self;
-   u32 os_tx_m2u_entry;
-   u32 os_tx_m2u_entry_err_xmit;
-   u32 os_tx_m2u_entry_err_skb;
-   u32 os_tx_m2u_stop;
-   u32 core_tx;
-   u32 core_tx_err_pxmitframe;
-   u32 core_tx_err_brtx;
-   u32 core_tx_upd_attrib;
-   u32 core_tx_upd_attrib_adhoc;
-   u32 core_tx_upd_attrib_sta;
-   u32 core_tx_upd_attrib_ap;
-   u32 core_tx_upd_attrib_unknown;
-   u32 core_tx_upd_attrib_dhcp;
-   u32 core_tx_upd_attrib_icmp;
-   u32 core_tx_upd_attrib_active;
-   u32 core_tx_upd_attrib_err_ucast_sta;
-   u32 core_tx_upd_attrib_err_ucast_ap_link;
-   u32 core_tx_upd_attrib_err_sta;
-   u32 core_tx_upd_attrib_err_link;
-   u32 core_tx_upd_attrib_err_sec;
-   u32 core_tx_ap_enqueue_warn_fwstate;
-   u32 core_tx_ap_enqueue_warn_sta;
-   u32 core_tx_ap_enqueue_warn_nosta;
-   u32 core_tx_ap_enqueue_warn_link;
-   u32 core_tx_ap_enqueue_warn_trigger;
-   u32 core_tx_ap_enqueue_mcast;
-   u32 core_tx_ap_enqueue_ucast;
-   u32 core_tx_ap_enqueue;
-   u32 intf_tx;
-   u32 intf_tx_pending_ac;
-   u32 intf_tx_pending_fw_under_survey;
-   u32 intf_tx_pending_fw_under_linking;
-   u32 intf_tx_pending_xmitbuf;
-   u32 intf_tx_enqueue;
-   u32 core_tx_enqueue;
-   u32 core_tx_enqueue_class;
-   u32 core_tx_enqueue_class_err_sta;
-   u32 core_tx_enqueue_class_err_nosta;
-   u32 core_tx_enqueue_class_err_fwlink;
-   u32 intf_tx_direct;
-   u32 intf_tx_direct_err_coalesce;
-   u32 intf_tx_dequeue;
-   u32 intf_tx_dequeue_err_coalesce;
-   u32 intf_tx_dump_xframe;
-   u32 intf_tx_dump_xframe_err_txdesc;
-   u32 intf_tx_dump_xframe_err_port;
-};
-
-struct int_logs {
-   u32 all;
-   u32 err;
-   u32 tbdok;
-   u32 tbder;
-   u32 bcnderr;
-   u32 bcndma;
-   u32 bcndma_e;
-   u32 rx;
-   u32 rx_rdu;
-   u32 rx_fovw;
-   u32 txfovw;
-   u32 mgntok;
-   u32 highdok;
-   u32 bkdok;
-   u32 bedok;
-   u32 vidok;
-   u32 vodok;
-};
-
-#endif /*  CONFIG_DBG_COUNTER */
-
 struct debug_priv {
u32 dbg_sdio_free_irq_error_cnt;
u32 dbg_sdio_alloc_irq_error_cnt;
@@ -608,12 +483,6 @@ struct adapter {
u8 driver_rx_ampdu_factor;/* 0xff: disable drv c

[PATCH 2/6] staging: rtl8723bs: remove DBG_COUNTER calls from os_dep/xmit_linux.c

2021-02-15 Thread Phillip Potter
Remove all DBG_COUNTER macro calls from os_dep/xmit_linux.c, as the
corresponding variables are only ever written to and not used. This
makes the code cleaner, and is necessary prior to removing the
DBG_COUNTER definition itself.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 17 ++---
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c 
b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
index b060a6a2df34..1c23fbe58881 100644
--- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
@@ -139,8 +139,6 @@ static int rtw_mlcst2unicst(struct adapter *padapter, 
struct sk_buff *skb)
int i;
s32 res;
 
-   DBG_COUNTER(padapter->tx_logs.os_tx_m2u);
-
spin_lock_bh(&pstapriv->asoc_list_lock);
phead = &pstapriv->asoc_list;
plist = get_next(phead);
@@ -160,20 +158,14 @@ static int rtw_mlcst2unicst(struct adapter *padapter, 
struct sk_buff *skb)
 
for (i = 0; i < chk_alive_num; i++) {
psta = rtw_get_stainfo_by_offset(pstapriv, chk_alive_list[i]);
-   if (!(psta->state & _FW_LINKED)) {
-   
DBG_COUNTER(padapter->tx_logs.os_tx_m2u_ignore_fw_linked);
+   if (!(psta->state & _FW_LINKED))
continue;
-   }
 
/* avoid come from STA1 and send back STA1 */
if (!memcmp(psta->hwaddr, &skb->data[6], 6) ||
!memcmp(psta->hwaddr, null_addr, 6) ||
-   !memcmp(psta->hwaddr, bc_addr, 6)) {
-   DBG_COUNTER(padapter->tx_logs.os_tx_m2u_ignore_self);
+   !memcmp(psta->hwaddr, bc_addr, 6))
continue;
-   }
-
-   DBG_COUNTER(padapter->tx_logs.os_tx_m2u_entry);
 
newskb = rtw_skb_copy(skb);
 
@@ -181,13 +173,11 @@ static int rtw_mlcst2unicst(struct adapter *padapter, 
struct sk_buff *skb)
memcpy(newskb->data, psta->hwaddr, 6);
res = rtw_xmit(padapter, &newskb);
if (res < 0) {
-   
DBG_COUNTER(padapter->tx_logs.os_tx_m2u_entry_err_xmit);
DBG_871X("%s()-%d: rtw_xmit() return error!\n", 
__func__, __LINE__);
pxmitpriv->tx_drop++;
dev_kfree_skb_any(newskb);
}
} else {
-   DBG_COUNTER(padapter->tx_logs.os_tx_m2u_entry_err_skb);
DBG_871X("%s-%d: rtw_skb_copy() failed!\n", __func__, 
__LINE__);
pxmitpriv->tx_drop++;
/* dev_kfree_skb_any(skb); */
@@ -206,11 +196,9 @@ int _rtw_xmit_entry(_pkt *pkt, _nic_hdl pnetdev)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
s32 res = 0;
 
-   DBG_COUNTER(padapter->tx_logs.os_tx);
RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("+xmit_enry\n"));
 
if (rtw_if_up(padapter) == false) {
-   DBG_COUNTER(padapter->tx_logs.os_tx_err_up);
RT_TRACE(_module_xmit_osdep_c_, _drv_err_, ("rtw_xmit_entry: 
rtw_if_up fail\n"));
#ifdef DBG_TX_DROP_FRAME
DBG_871X("DBG_TX_DROP_FRAME %s if_up fail\n", __func__);
@@ -236,7 +224,6 @@ int _rtw_xmit_entry(_pkt *pkt, _nic_hdl pnetdev)
} else {
/* DBG_871X("Stop M2U(%d, %d)! ", 
pxmitpriv->free_xmitframe_cnt, pxmitpriv->free_xmitbuf_cnt); */
/* DBG_871X("!m2u); */
-   DBG_COUNTER(padapter->tx_logs.os_tx_m2u_stop);
}
}
 
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 3/6] staging: rtl8723bs: remove DBG_COUNTER calls from core/rtw_xmit.c

2021-02-15 Thread Phillip Potter
Remove all DBG_COUNTER macro calls from core/rtw_xmit.c, as the
corresponding variables are only ever written to and not used. This
makes the code cleaner, and is necessary prior to removing the
DBG_COUNTER definition itself.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/core/rtw_xmit.c | 44 ++-
 1 file changed, 3 insertions(+), 41 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c 
b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 41632fa0b3c8..19aecbabbc4d 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -653,8 +653,6 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
struct qos_priv *pqospriv = &pmlmepriv->qospriv;
sint res = _SUCCESS;
 
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib);
-
_rtw_open_pktfile(pkt, &pktfile);
_rtw_pktfile_read(&pktfile, (u8 *)ðerhdr, ETH_HLEN);
 
@@ -667,17 +665,12 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
(check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true)) {
memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_adhoc);
} else if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
memcpy(pattrib->ra, get_bssid(pmlmepriv), ETH_ALEN);
memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_sta);
} else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
memcpy(pattrib->ta, get_bssid(pmlmepriv), ETH_ALEN);
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_ap);
-   } else {
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_unknown);
}
 
pattrib->pktlen = pktfile.pkt_len;
@@ -699,7 +692,6 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
/*  67 : UDP BOOTP server */
RT_TRACE(_module_rtl871x_xmit_c_, 
_drv_err_, ("==update_attrib: get DHCP Packet\n"));
pattrib->dhcp_pkt = 1;
-   
DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_dhcp);
}
}
}
@@ -709,10 +701,8 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
struct iphdr *piphdr = (struct iphdr *)tmp;
 
pattrib->icmp_pkt = 0;
-   if (piphdr->protocol == 0x1) { /*  protocol type in ip 
header 0x1 is ICMP */
+   if (piphdr->protocol == 0x1) /*  protocol type in ip 
header 0x1 is ICMP */
pattrib->icmp_pkt = 1;
-   
DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_icmp);
-   }
}
} else if (0x888e == pattrib->ether_type) {
DBG_871X_LEVEL(_drv_always_, "send eapol packet\n");
@@ -724,10 +714,8 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
/*  If EAPOL , ARP , OR DHCP packet, driver must be in active mode. */
if (pattrib->icmp_pkt == 1)
rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1);
-   else if (pattrib->dhcp_pkt == 1) {
-   DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_active);
+   else if (pattrib->dhcp_pkt == 1)
rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_SPECIAL_PACKET, 1);
-   }
 
bmcast = IS_MCAST(pattrib->ra);
 
@@ -737,7 +725,6 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
} else {
psta = rtw_get_stainfo(pstapriv, pattrib->ra);
if (!psta)  { /*  if we cannot get psta => drop the pkt */
-   
DBG_COUNTER(padapter->tx_logs.core_tx_upd_attrib_err_ucast_sta);
RT_TRACE(_module_rtl871x_xmit_c_, _drv_alert_, 
("\nupdate_attrib => get sta_info fail, ra:%pM\n", MAC_ARG(pattrib->ra)));
#ifdef DBG_TX_DROP_FRAME
DBG_871X("DBG_TX_DROP_FRAME %s get sta_info fail, 
ra:%pM\n", __func__, MAC_ARG(pattrib->ra));
@@ -745,7 +732,6 @@ static s32 update_attrib(struct adapter *padapter, _pkt 
*pkt, struct pkt_attrib
res = _FAIL;
goto exit;
} else if ((check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) && 
(!(psta->state & 

[PATCH 0/6] staging: rtl8723bs: remove DBG_COUNTER

2021-02-15 Thread Phillip Potter
This patch set removes all calls of the DBG_COUNTER macro from the
driver, as the macro only increments the relevant values, which are
never then used anywhere else. It then removes the DBG_COUNTER macro
definition itself.

In addition, it removes rx_logs/tx_logs/int_logs struct definitions from
the codebase as well. These are inside a CONFIG_DBG_COUNTER preprocessor
ifdef, and the only thing that was using them was the aforementioned
DBG_COUNTER calls.

Removing this code goes some way towards cleaning up this driver, and is
therefore worth doing.

Phillip Potter (6):
  staging: rtl8723bs: remove DBG_COUNTER calls from os_dep/recv_linux.c
  staging: rtl8723bs: remove DBG_COUNTER calls from os_dep/xmit_linux.c
  staging: rtl8723bs: remove DBG_COUNTER calls from core/rtw_xmit.c
  staging: rtl8723bs: remove DBG_COUNTER calls from core/rtw_recv.c
  staging: rtl8723bs: remove DBG_COUNTER definition from rtw_debug.h
  staging: rtl8723bs: remove rx_logs/tx_logs/int_logs from drv_types.h

 drivers/staging/rtl8723bs/core/rtw_recv.c |  44 +-
 drivers/staging/rtl8723bs/core/rtw_xmit.c |  44 +-
 drivers/staging/rtl8723bs/include/drv_types.h | 131 --
 drivers/staging/rtl8723bs/include/rtw_debug.h |   6 -
 drivers/staging/rtl8723bs/os_dep/recv_linux.c |  15 +-
 drivers/staging/rtl8723bs/os_dep/xmit_linux.c |  17 +--
 6 files changed, 10 insertions(+), 247 deletions(-)

-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/6] staging: rtl8723bs: remove DBG_COUNTER calls from os_dep/recv_linux.c

2021-02-15 Thread Phillip Potter
Remove all DBG_COUNTER macro calls from os_dep/recv_linux.c, as the
corresponding variables are only ever written to and not used. This
makes the code cleaner, and is necessary prior to removing the
DBG_COUNTER definition itself.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/os_dep/recv_linux.c | 15 ++-
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c 
b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index ac35277fbacd..f52802f24466 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -124,18 +124,14 @@ void rtw_os_recv_indicate_pkt(struct adapter *padapter, 
_pkt *pkt, struct rx_pkt
 
_rtw_xmit_entry(pkt, pnetdev);
 
-   if (bmcast && pskb2) {
+   if (bmcast && pskb2)
pkt = pskb2;
-   
DBG_COUNTER(padapter->rx_logs.os_indicate_ap_mcast);
-   } else {
-   
DBG_COUNTER(padapter->rx_logs.os_indicate_ap_forward);
+   else
return;
-   }
}
} else {
/*  to APself */
/* DBG_871X("to APSelf\n"); */
-   
DBG_COUNTER(padapter->rx_logs.os_indicate_ap_self);
}
}
 
@@ -153,10 +149,6 @@ void rtw_os_recv_indicate_pkt(struct adapter *padapter, 
_pkt *pkt, struct rx_pkt
 #endif /* CONFIG_TCP_CSUM_OFFLOAD_RX */
 
ret = rtw_netif_rx(padapter->pnetdev, pkt);
-   if (ret == NET_RX_SUCCESS)
-   DBG_COUNTER(padapter->rx_logs.os_netif_ok);
-   else
-   DBG_COUNTER(padapter->rx_logs.os_netif_err);
}
 }
 
@@ -246,8 +238,6 @@ int rtw_recv_indicatepkt(struct adapter *padapter, union 
recv_frame *precv_frame
_pkt *skb;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
 
-   DBG_COUNTER(padapter->rx_logs.os_indicate);
-
precvpriv = &(padapter->recvpriv);
pfree_recv_queue = &(precvpriv->free_recv_queue);
 
@@ -293,7 +283,6 @@ int rtw_recv_indicatepkt(struct adapter *padapter, union 
recv_frame *precv_frame
/* enqueue back to free_recv_queue */
rtw_free_recvframe(precv_frame, pfree_recv_queue);
 
-   DBG_COUNTER(padapter->rx_logs.os_indicate_err);
return _FAIL;
 }
 
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: rtl8723bs: cleanup macros within include/rtw_debug.h

2021-02-10 Thread Phillip Potter
> > So I'm in the process of stripping out _dbgdump entirely as per Greg
> > K-H's suggestion - am I to understand raw printk is frowned upon though,
> > even with the correct KERN_x level specified?
> 
> Yes.  Ideally in drivers everything would use dev_dbg() and dev_err() or
> whatever.  But it's perhaps tricky to convert everything in a single
> patch so changing _dbgdump() to "#define pr_debug" as an intermediate
> step is probably fine.
> 
> Look at how people do pr_fmt():
> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> 
> You could do a patch that does a mass replacement of DBG_871X with
> pr_debug().  Again, I haven't really looked at this code so you'll have
> to double check and consider what is the best way to break up the
> patches.
> 

That sounds great, I'll take a look, thanks.

> > One query I have is that individual patches I'm working on for this file are
> > generating an awful lot of checkpatch warnings themselves due to the
> > nature of the existing violations on the relevant lines. Is it
> > considered acceptable for me to still submit these, providing I do so in
> > a series which cleans up the other violations in separate patches?
> 
> It's tricky to know how to break up patches.  Probably the simplest
> advice is to only clean up a single type of checkpatch warning at a
> time.  But fix all the instances of that warning in a file.  Don't
> change anything else even if it is tempting.  Do that in the next patch.
> 
> The actuall rules are slightly more complicated and nuanced than that,
> but if you just fix one type at a time then that's okay.
> 
> One thing is that your patches should not introduce new checkpatch
> warnings.  So if you have two statements in an if statement and you
> delete one, then that means you have to delete he curly braces as well.
> 
> regards,
> dan carpenter
> 

Thanks again for the feedback. I will work on something over the next
few days.

Regards,
Phil
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: rtl8723bs: cleanup macros within include/rtw_debug.h

2021-02-10 Thread Phillip Potter
On Wed, Feb 10, 2021 at 09:40:27PM +0300, Dan Carpenter wrote:
> On Wed, Feb 10, 2021 at 05:00:03PM +0000, Phillip Potter wrote:
> > Remove do/while loops from DBG_871X, MSG_8192C and DBG_8192C.
> 
> I'm pretty hip to checkpatch.pl warnings, but I had forgotten what the
> warning was for this:
> 
> WARNING: Single statement macros should not use a do {} while (0) loop
> 
> Please, include it for people who are forgetful like I am.
> 
> > Also
> > fix opening brace placements and trailing single statement layout within
> > RT_PRINT_DATA, as well as making newline character placement more
> > consistent and removing camel case where possible. Finally, add
> > parentheses for DBG_COUNTER definition.
> > 
> > This fixes 3 checkpatch warnings, 5 checkpatch errors and 3 checkpatch
> > checks.
> 
> This patch would be easier to review if it were split into multiple
> patches.
> 
> > 
> > Signed-off-by: Phillip Potter 
> > ---
> >  drivers/staging/rtl8723bs/include/rtw_debug.h | 40 +--
> >  1 file changed, 19 insertions(+), 21 deletions(-)
> > 
> > diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h 
> > b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > index c90adfb87261..d06ac9540cf7 100644
> > --- a/drivers/staging/rtl8723bs/include/rtw_debug.h
> > +++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > @@ -201,19 +201,16 @@
> >  #ifdef DEBUG
> >  #ifdefined(_dbgdump)
> > #undef DBG_871X
> > -   #define DBG_871X(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define DBG_871X(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> 
> This can fit on one line:
> 
>   #define DBG_871X(...) _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> 
> It's tough with staging code to know how much to change at one time
> because even after you change the code then it still looks rubbish.
> This define shouldn't be indented.  The _dbgdump() macro is just
> 
> #define _dbgdump printk
> 
> so you know, no printk level.  Wow.  etc.  This code is crap.

So I'm in the process of stripping out _dbgdump entirely as per Greg
K-H's suggestion - am I to understand raw printk is frowned upon though,
even with the correct KERN_x level specified?

> 
> >  
> > #undef MSG_8192C
> > -   #define MSG_8192C(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define MSG_8192C(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> >  
> > #undef DBG_8192C
> > -   #define DBG_8192C(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define DBG_8192C(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> >  #endif /* defined(_dbgdump) */
> >  #endif /* DEBUG */
> >  
> 
> Yeah.  Do all the above as one patch.
> 
> > @@ -235,25 +232,26 @@
> >  
> >  #ifdefined(_dbgdump)
> > #undef RT_PRINT_DATA
> > -   #define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, 
> > _HexDataLen)   \
> > -   if (((_Comp) & GlobalDebugComponents) && (_Level <= 
> > GlobalDebugLevel))  \
> > -   {   
> > \
> > +   #define RT_PRINT_DATA(_comp, _level, _title_string, _hex_data, 
> > _hex_data_len)   \
> > +   do {
> > \
> > +   if (((_comp) & GlobalDebugComponents) && ((_level) <= 
> > GlobalDebugLevel)) {  \
> > int __i;
> > \
> > -   u8 *ptr = (u8 *)_HexData;   
> > \
> > +   u8 *ptr = (u8 *)_hex_data;  
> > \
> > _dbgdump("%s", DRIVER_PREFIX);  
> > \
> > -   _dbgdump(_TitleString); 
> > \
> > -   for (__i = 0; __i < (int)_HexDataLen; __i++)
> > \
> > -   {   
> > \
> > +   _dbgdump(_title_string);
> > \
> > +   for (__i = 0; __i &

Re: [PATCH] staging: rtl8723bs: cleanup macros within include/rtw_debug.h

2021-02-10 Thread Phillip Potter
On Wed, Feb 10, 2021 at 06:12:54PM +0100, Greg KH wrote:
> On Wed, Feb 10, 2021 at 05:00:03PM +0000, Phillip Potter wrote:
> > Remove do/while loops from DBG_871X, MSG_8192C and DBG_8192C. Also
> > fix opening brace placements and trailing single statement layout within
> > RT_PRINT_DATA, as well as making newline character placement more
> > consistent and removing camel case where possible. Finally, add
> > parentheses for DBG_COUNTER definition.
> > 
> > This fixes 3 checkpatch warnings, 5 checkpatch errors and 3 checkpatch
> > checks.
> > 
> > Signed-off-by: Phillip Potter 
> > ---
> >  drivers/staging/rtl8723bs/include/rtw_debug.h | 40 +--
> >  1 file changed, 19 insertions(+), 21 deletions(-)
> > 
> > diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h 
> > b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > index c90adfb87261..d06ac9540cf7 100644
> > --- a/drivers/staging/rtl8723bs/include/rtw_debug.h
> > +++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > @@ -201,19 +201,16 @@
> >  #ifdef DEBUG
> >  #ifdefined(_dbgdump)
> > #undef DBG_871X
> > -   #define DBG_871X(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define DBG_871X(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> >  
> > #undef MSG_8192C
> > -   #define MSG_8192C(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define MSG_8192C(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> >  
> > #undef DBG_8192C
> > -   #define DBG_8192C(...) do {\
> > -   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
> > -   } while (0)
> > +   #define DBG_8192C(...)\
> > +   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
> 
> Odd, the do/while is correct here, why is checkpatch complaining about
> it?

The warning it gives me for these is:
WARNING: Single statement macros should not use a do {} while (0) loop

> 
> >  #endif /* defined(_dbgdump) */
> >  #endif /* DEBUG */
> >  
> > @@ -235,25 +232,26 @@
> >  
> >  #ifdefined(_dbgdump)
> > #undef RT_PRINT_DATA
> > -   #define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, 
> > _HexDataLen)   \
> > -   if (((_Comp) & GlobalDebugComponents) && (_Level <= 
> > GlobalDebugLevel))  \
> > -   {   
> > \
> > +   #define RT_PRINT_DATA(_comp, _level, _title_string, _hex_data, 
> > _hex_data_len)   \
> > +   do {
> > \
> > +   if (((_comp) & GlobalDebugComponents) && ((_level) <= 
> > GlobalDebugLevel)) {  \
> > int __i;
> > \
> 
> This is not the same as the above stuff, when you find yourself writing
> "also" in a changelog text, that's a huge hint you should break the
> patch up into a patch series.
> 
> Please do that here, this is too much for one patch.
> 
> thanks,
> 
> greg k-h

Thank you for the feedback, I'll do this - shall I leave out the
do/while stuff if you're saying checkpatch is wrong?

Regards,
Phil
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: remove blank line from include/autoconf.h

2021-02-10 Thread Phillip Potter
Remove additional blank line from include/autoconf.h, fixes one
checkpatch check notice.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/autoconf.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/rtl8723bs/include/autoconf.h 
b/drivers/staging/rtl8723bs/include/autoconf.h
index 8f4c1e734473..86cf09ca5f06 100644
--- a/drivers/staging/rtl8723bs/include/autoconf.h
+++ b/drivers/staging/rtl8723bs/include/autoconf.h
@@ -5,7 +5,6 @@
  *
  
**/
 
-
 /*
  * Automatically generated C config: don't edit
  */
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: cleanup macros within include/rtw_debug.h

2021-02-10 Thread Phillip Potter
Remove do/while loops from DBG_871X, MSG_8192C and DBG_8192C. Also
fix opening brace placements and trailing single statement layout within
RT_PRINT_DATA, as well as making newline character placement more
consistent and removing camel case where possible. Finally, add
parentheses for DBG_COUNTER definition.

This fixes 3 checkpatch warnings, 5 checkpatch errors and 3 checkpatch
checks.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/rtw_debug.h | 40 +--
 1 file changed, 19 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h 
b/drivers/staging/rtl8723bs/include/rtw_debug.h
index c90adfb87261..d06ac9540cf7 100644
--- a/drivers/staging/rtl8723bs/include/rtw_debug.h
+++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
@@ -201,19 +201,16 @@
 #ifdef DEBUG
 #ifdefined(_dbgdump)
#undef DBG_871X
-   #define DBG_871X(...) do {\
-   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
-   } while (0)
+   #define DBG_871X(...)\
+   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
 
#undef MSG_8192C
-   #define MSG_8192C(...) do {\
-   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
-   } while (0)
+   #define MSG_8192C(...)\
+   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
 
#undef DBG_8192C
-   #define DBG_8192C(...) do {\
-   _dbgdump(DRIVER_PREFIX __VA_ARGS__);\
-   } while (0)
+   #define DBG_8192C(...)\
+   _dbgdump(DRIVER_PREFIX __VA_ARGS__)
 #endif /* defined(_dbgdump) */
 #endif /* DEBUG */
 
@@ -235,25 +232,26 @@
 
 #ifdefined(_dbgdump)
#undef RT_PRINT_DATA
-   #define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, 
_HexDataLen)   \
-   if (((_Comp) & GlobalDebugComponents) && (_Level <= 
GlobalDebugLevel))  \
-   {   
\
+   #define RT_PRINT_DATA(_comp, _level, _title_string, _hex_data, 
_hex_data_len)   \
+   do {
\
+   if (((_comp) & GlobalDebugComponents) && ((_level) <= 
GlobalDebugLevel)) {  \
int __i;
\
-   u8 *ptr = (u8 *)_HexData;   
\
+   u8 *ptr = (u8 *)_hex_data;  
\
_dbgdump("%s", DRIVER_PREFIX);  
\
-   _dbgdump(_TitleString); 
\
-   for (__i = 0; __i < (int)_HexDataLen; __i++)
\
-   {   
\
+   _dbgdump(_title_string);
\
+   for (__i = 0; __i < (int)_hex_data_len; __i++) {
\
_dbgdump("%02X%s", ptr[__i], (((__i + 1) % 4) 
== 0)?"  ":" ");  \
-   if (((__i + 1) % 16) == 0)  _dbgdump("\n"); 
\
-   }   
\
-   _dbgdump("\n"); 
\
-   }
+   if (((__i + 1) % 16) == 0)  
\
+   _dbgdump("\n"); 
\
+   }   
\
+   _dbgdump("\n"); 
\
+   }   
\
+   } while (0)
 #endif /* defined(_dbgdump) */
 #endif /* DEBUG_RTL871X */
 
 #ifdef CONFIG_DBG_COUNTER
-#define DBG_COUNTER(counter) counter++
+#define DBG_COUNTER(counter) ((counter)++)
 #else
 #define DBG_COUNTER(counter) do {} while (0)
 #endif
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: remove typedefs from rtl8723b_recv.h

2021-02-09 Thread Phillip Potter
Remove typedefs from include/rtl8723b_recv.h and convert one usage in
hal/rtl8723bs_recv.c to use the actual structure name in its pointer
declaration. Fixes two checkpatch warnings.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c| 2 +-
 drivers/staging/rtl8723bs/include/rtl8723b_recv.h | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c 
b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index 1fbf89cb72d0..2d15a5f7648d 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -24,7 +24,7 @@ static void update_recvframe_attrib(struct adapter *padapter,
 {
struct rx_pkt_attrib *pattrib;
struct recv_stat report;
-   PRXREPORT prxreport = (PRXREPORT)&report;
+   struct rxreport_8723b *prxreport = (struct rxreport_8723b *)&report;
 
report.rxdw0 = prxstat->rxdw0;
report.rxdw1 = prxstat->rxdw1;
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h 
b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
index fad6749af768..60a1df703c8e 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
@@ -9,7 +9,7 @@
 
 #include 
 
-typedef struct rxreport_8723b {
+struct rxreport_8723b {
/* DWORD 0 */
u32 pktlen:14;
u32 crc32:1;
@@ -79,9 +79,9 @@ typedef struct rxreport_8723b {
 
/* DWORD 5 */
u32 tsfl;
-} RXREPORT, *PRXREPORT;
+};
 
-typedef struct phystatus_8723b {
+struct phystatus_8723b {
u32 rxgain_a:7;
u32 trsw_a:1;
u32 rxgain_b:7;
@@ -123,7 +123,7 @@ typedef struct phystatus_8723b {
u32 anttrainen:1;
u32 antselb:1;
u32 antsel:1;
-} PHYSTATUS, *PPHYSTATUS;
+};
 
 s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
 void rtl8723bs_free_recv_priv(struct adapter *padapter);
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: fix blank lines and comments in rtl8723b_hal.h

2021-02-09 Thread Phillip Potter
Remove unnecessary blank line, and move close of multiple-line comments
to their own trailing lines. This fixes four checkpatch warnings and one
checkpatch check notice for the include/rtl8723b_hal.h file.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/rtl8723b_hal.h | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h 
b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
index f36516fa84c7..8e6e972dd843 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
@@ -42,11 +42,13 @@ struct rt_firmware_hdr {
 
/*  LONG WORD 0  */
__le16 signature;  /* 92C0: test chip; 92C, 88C0: test chip;
-   * 88C1: MP A-cut; 92C1: MP A-cut */
+   * 88C1: MP A-cut; 92C1: MP A-cut
+   */
u8 category;   /* AP/NIC and USB/PCI */
u8 function;   /* Reserved for different FW function indications,
* for further use when driver needs to download
-   * different FW in different conditions. */
+   * different FW in different conditions.
+   */
__le16 version;/* FW Version */
__le16 subversion; /* FW Subversion, default 0x00 */
 
@@ -135,7 +137,6 @@ struct rt_firmware_hdr {
 #define WMM_NORMAL_PAGE_NUM_LPQ_8723B 0x20
 #define WMM_NORMAL_PAGE_NUM_NPQ_8723B 0x20
 
-
 #include "HalVerDef.h"
 #include "hal_com.h"
 
@@ -149,7 +150,8 @@ struct rt_firmware_hdr {
 #define EFUSE_MAX_SECTION_8723B  64
 
 #define EFUSE_IC_ID_OFFSET 506 /* For some inferiority IC purpose.
-   * Added by Roger, 2009.09.02. */
+   * Added by Roger, 2009.09.02.
+   */
 #define AVAILABLE_EFUSE_ADDR(addr) (addr < EFUSE_REAL_CONTENT_LEN_8723B)
 
 #define EFUSE_ACCESS_ON  0x69 /* For RTL8723 only. */
@@ -173,7 +175,8 @@ typedef enum _C2H_EVT {
C2H_TSF = 1,
C2H_AP_RPT_RSP = 2,
C2H_CCX_TX_RPT = 3, /* The FW notify the report
-* of the specific tx packet. */
+* of the specific tx packet.
+*/
C2H_BT_RSSI = 4,
C2H_BT_OP_MODE = 5,
C2H_EXT_RA_RPT = 6,
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: fix braces for os_dep/mlme_linux.c

2021-02-08 Thread Phillip Potter
Add braces to both branches of an if block for consistency, and also
remove braces from a single line for loop. Fixes a checkpatch check
and warning, thus clearing this file of any brace check/warning
notices.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/os_dep/mlme_linux.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/mlme_linux.c 
b/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
index fb2df871c0cb..d46c65ab384b 100644
--- a/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
@@ -48,8 +48,9 @@ void rtw_os_indicate_connect(struct adapter *adapter)
if ((check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true) ||
(check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true)) {
rtw_cfg80211_ibss_indicate_connect(adapter);
-   } else
+   } else {
rtw_cfg80211_indicate_connect(adapter);
+   }
 
rtw_indicate_wx_assoc_event(adapter);
netif_carrier_on(adapter->pnetdev);
@@ -163,9 +164,8 @@ void rtw_report_sec_ie(struct adapter *adapter, u8 
authmode, u8 *sec_ie)
len = sec_ie[1] + 2;
len = (len < IW_CUSTOM_MAX) ? len : IW_CUSTOM_MAX;
 
-   for (i = 0; i < len; i++) {
+   for (i = 0; i < len; i++)
p += sprintf(p, "%02x", sec_ie[i]);
-   }
 
p += sprintf(p, ")");
 
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8723bs: remove braces from two single line if blocks

2021-02-08 Thread Phillip Potter
Remove braces from both occurences of single line if blocks in
include/rtw_mlme.h, fixes two checkpatch warnings, thus clearing
this type of warning from this file.

Also swaps two if statement comparisons around, so the variable is on
the left in each one. This fixes two warnings also.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8723bs/include/rtw_mlme.h | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h 
b/drivers/staging/rtl8723bs/include/rtw_mlme.h
index ea0dd156051e..d8655cb619a1 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h
@@ -524,18 +524,16 @@ static inline void set_fwstate(struct mlme_priv 
*pmlmepriv, sint state)
 {
pmlmepriv->fw_state |= state;
/* FOR HW integration */
-   if (_FW_UNDER_SURVEY == state) {
+   if (state == _FW_UNDER_SURVEY)
pmlmepriv->bScanInProcess = true;
-   }
 }
 
 static inline void _clr_fwstate_(struct mlme_priv *pmlmepriv, sint state)
 {
pmlmepriv->fw_state &= ~state;
/* FOR HW integration */
-   if (_FW_UNDER_SURVEY == state) {
+   if (state == _FW_UNDER_SURVEY)
pmlmepriv->bScanInProcess = false;
-   }
 }
 
 /*
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: octeon: remove braces from single-line block

2021-02-08 Thread Phillip Potter
On Mon, Feb 08, 2021 at 08:14:02AM +0100, Alexander Sverdlin wrote:
> Hi!
> 
> On 06/02/2021 21:17, Phillip Potter wrote:
> > This removes the braces from the if statement that checks the
> > physical node return value in cvm_oct_phy_setup_device, as this
> > block contains only one statement. Fixes a style warning.
> > 
> > Signed-off-by: Phillip Potter 
> 
> Reviewed-by: Alexander Sverdlin 
> 

Thank you Alexander.

> > ---
> >  drivers/staging/octeon/ethernet-mdio.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/octeon/ethernet-mdio.c 
> > b/drivers/staging/octeon/ethernet-mdio.c
> > index 0bf545849b11..b0fd083a5bf2 100644
> > --- a/drivers/staging/octeon/ethernet-mdio.c
> > +++ b/drivers/staging/octeon/ethernet-mdio.c
> > @@ -146,9 +146,8 @@ int cvm_oct_phy_setup_device(struct net_device *dev)
> > goto no_phy;
> >  
> > phy_node = of_parse_phandle(priv->of_node, "phy-handle", 0);
> > -   if (!phy_node && of_phy_is_fixed_link(priv->of_node)) {
> > +   if (!phy_node && of_phy_is_fixed_link(priv->of_node))
> > phy_node = of_node_get(priv->of_node);
> > -   }
> > if (!phy_node)
> > goto no_phy;
> >  
> 
> -- 
> Best regards,
> Alexander Sverdlin.

Regards,
Phil Potter
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8192e: remove braces from single-line block

2021-02-07 Thread Phillip Potter
This removes the braces from the if statement that checks the
wps_ie_len and ieee->wps_ie values in rtllib_association_req of
rtllib_softmac.c as this block contains only one statement.
Fixes a checkpatch warning.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8192e/rtllib_softmac.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c 
b/drivers/staging/rtl8192e/rtllib_softmac.c
index 2c752ba5a802..2d3be91b113d 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -1352,9 +1352,8 @@ rtllib_association_req(struct rtllib_network *beacon,
rtllib_WMM_Info(ieee, &tag);
}
 
-   if (wps_ie_len && ieee->wps_ie) {
+   if (wps_ie_len && ieee->wps_ie)
skb_put_data(skb, ieee->wps_ie, wps_ie_len);
-   }
 
if (turbo_info_len) {
tag = skb_put(skb, turbo_info_len);
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: rtl8192e: replace spaces with tab for a closing if brace

2021-02-07 Thread Phillip Potter
Remove spaces preceding closing brace of one of the nested if statement
blocks inside the rtl92e_leisure_ps_leave function, and replace with a
tab, to align it properly with the start of the block. Fixes a
checkpatch warning.

Signed-off-by: Phillip Potter 
---
 drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c 
b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c
index 9475f8c6edf7..c5e89eb40342 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c
@@ -290,7 +290,7 @@ void rtl92e_leisure_ps_leave(struct net_device *dev)
if (priv->rtllib->SetFwCmdHandler)
priv->rtllib->SetFwCmdHandler(dev,
 FW_CMD_LPS_LEAVE);
-   }
+   }
}
}
 }
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v2] staging: octeon: convert all uses of strlcpy to strscpy in ethernet-mdio.c

2021-02-07 Thread Phillip Potter
On Sun, Feb 07, 2021 at 04:35:06PM +0100, Greg KH wrote:
> On Sun, Feb 07, 2021 at 03:13:20PM +0000, Phillip Potter wrote:
> > Convert three calls to strlcpy inside the cvm_oct_get_drvinfo function
> > to strscpy calls. As return values were not checked for these three
> > calls before, change should be safe as functionality is equivalent.
> > 
> > Signed-off-by: Phillip Potter 
> > ---
> > 
> > v2: Modified changelog to take account of feedback from Greg KH.
> > 
> >  drivers/staging/octeon/ethernet-mdio.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/staging/octeon/ethernet-mdio.c 
> > b/drivers/staging/octeon/ethernet-mdio.c
> > index b0fd083a5bf2..b3049108edc4 100644
> > --- a/drivers/staging/octeon/ethernet-mdio.c
> > +++ b/drivers/staging/octeon/ethernet-mdio.c
> > @@ -21,9 +21,9 @@
> >  static void cvm_oct_get_drvinfo(struct net_device *dev,
> > struct ethtool_drvinfo *info)
> >  {
> > -   strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
> > -   strlcpy(info->version, UTS_RELEASE, sizeof(info->version));
> > -   strlcpy(info->bus_info, "Builtin", sizeof(info->bus_info));
> > +   strscpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
> > +   strscpy(info->version, UTS_RELEASE, sizeof(info->version));
> > +   strscpy(info->bus_info, "Builtin", sizeof(info->bus_info));
> >  }
> >  
> >  static int cvm_oct_nway_reset(struct net_device *dev)
> 
> Sorry, this does not apply to my tree, someone already did this
> conversion before you :(
> 
> greg k-h

Thank you anyway, and thank you to you and Joe for your feedback, much
appreciated.

Regards,
Phil
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2] staging: octeon: convert all uses of strlcpy to strscpy in ethernet-mdio.c

2021-02-07 Thread Phillip Potter
Convert three calls to strlcpy inside the cvm_oct_get_drvinfo function
to strscpy calls. As return values were not checked for these three
calls before, change should be safe as functionality is equivalent.

Signed-off-by: Phillip Potter 
---

v2: Modified changelog to take account of feedback from Greg KH.

 drivers/staging/octeon/ethernet-mdio.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-mdio.c 
b/drivers/staging/octeon/ethernet-mdio.c
index b0fd083a5bf2..b3049108edc4 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -21,9 +21,9 @@
 static void cvm_oct_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
 {
-   strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
-   strlcpy(info->version, UTS_RELEASE, sizeof(info->version));
-   strlcpy(info->bus_info, "Builtin", sizeof(info->bus_info));
+   strscpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
+   strscpy(info->version, UTS_RELEASE, sizeof(info->version));
+   strscpy(info->bus_info, "Builtin", sizeof(info->bus_info));
 }
 
 static int cvm_oct_nway_reset(struct net_device *dev)
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2] staging: octeon: convert all uses of strlcpy to strscpy in ethernet-mdio.c

2021-02-07 Thread Phillip Potter
Convert three calls to strlcpy inside the cvm_oct_get_drvinfo function
to strscpy calls. As return values were not checked for these three
calls before, change should be safe as functionality is equivalent.

Signed-off-by: Phillip Potter 
---
 drivers/staging/octeon/ethernet-mdio.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-mdio.c 
b/drivers/staging/octeon/ethernet-mdio.c
index b0fd083a5bf2..b3049108edc4 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -21,9 +21,9 @@
 static void cvm_oct_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
 {
-   strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
-   strlcpy(info->version, UTS_RELEASE, sizeof(info->version));
-   strlcpy(info->bus_info, "Builtin", sizeof(info->bus_info));
+   strscpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
+   strscpy(info->version, UTS_RELEASE, sizeof(info->version));
+   strscpy(info->bus_info, "Builtin", sizeof(info->bus_info));
 }
 
 static int cvm_oct_nway_reset(struct net_device *dev)
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: octeon: convert all uses of strlcpy to strscpy in ethernet-mdio.c

2021-02-07 Thread Phillip Potter
Convert three calls to strlcpy inside the cvm_oct_get_drvinfo function
to strscpy calls. Fixes a style warning.

Signed-off-by: Phillip Potter 
---
 drivers/staging/octeon/ethernet-mdio.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-mdio.c 
b/drivers/staging/octeon/ethernet-mdio.c
index b0fd083a5bf2..b3049108edc4 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -21,9 +21,9 @@
 static void cvm_oct_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
 {
-   strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
-   strlcpy(info->version, UTS_RELEASE, sizeof(info->version));
-   strlcpy(info->bus_info, "Builtin", sizeof(info->bus_info));
+   strscpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
+   strscpy(info->version, UTS_RELEASE, sizeof(info->version));
+   strscpy(info->bus_info, "Builtin", sizeof(info->bus_info));
 }
 
 static int cvm_oct_nway_reset(struct net_device *dev)
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: octeon: remove braces from single-line block

2021-02-06 Thread Phillip Potter
This removes the braces from the if statement that checks the
physical node return value in cvm_oct_phy_setup_device, as this
block contains only one statement. Fixes a style warning.

Signed-off-by: Phillip Potter 
---
 drivers/staging/octeon/ethernet-mdio.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-mdio.c 
b/drivers/staging/octeon/ethernet-mdio.c
index 0bf545849b11..b0fd083a5bf2 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -146,9 +146,8 @@ int cvm_oct_phy_setup_device(struct net_device *dev)
goto no_phy;
 
phy_node = of_parse_phandle(priv->of_node, "phy-handle", 0);
-   if (!phy_node && of_phy_is_fixed_link(priv->of_node)) {
+   if (!phy_node && of_phy_is_fixed_link(priv->of_node))
phy_node = of_node_get(priv->of_node);
-   }
if (!phy_node)
goto no_phy;
 
-- 
2.29.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: android: ion: Update wording in drivers/staging/android/ion/Kconfig

2018-03-16 Thread Phillip Potter
Yes, sorry, I took that bit out as I wasn’t aware it was important. I will make 
sure it is included in future patches. Thank you for your response.

Regards,
Phil Potter

>> On 16 Mar 2018, at 17:48, Laura Abbott  wrote:
>> 
>> On 03/15/2018 11:13 AM, Phillip Potter wrote:
>> Changes the usage of the word 'Chose' to 'Choose' in the ION
>> Memory Manager Kconfig.
>> Signed-off-by: Phillip Potter 
>> ---
>> --- a/drivers/staging/android/ion/Kconfig
>> +++ b/drivers/staging/android/ion/Kconfig
>> @@ -4,7 +4,7 @@ menuconfig ION
>> select GENERIC_ALLOCATOR
>> select DMA_SHARED_BUFFER
>> ---help---
>> -  Chose this option to enable the ION Memory Manager,
>> +  Choose this option to enable the ION Memory Manager,
>>   used by Android to efficiently allocate buffers
>>   from userspace that can be shared between drivers.
>>   If you're not using Android its probably safe to
> 
> The formatting here looks a little funny, did you manually edit the
> patch to take out the diff-stat and index? The patch seem to apply
> okay, so I'm just curious. Either way,
> 
> Acked-by: Laura Abbott 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: android: ion: Update wording in drivers/staging/android/ion/Kconfig

2018-03-15 Thread Phillip Potter
Changes the usage of the word 'Chose' to 'Choose' in the ION
Memory Manager Kconfig.

Signed-off-by: Phillip Potter 
---
--- a/drivers/staging/android/ion/Kconfig
+++ b/drivers/staging/android/ion/Kconfig
@@ -4,7 +4,7 @@ menuconfig ION
select GENERIC_ALLOCATOR
select DMA_SHARED_BUFFER
---help---
- Chose this option to enable the ION Memory Manager,
+ Choose this option to enable the ION Memory Manager,
  used by Android to efficiently allocate buffers
  from userspace that can be shared between drivers.
  If you're not using Android its probably safe to
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel