summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rtl8723as/core/rtw_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rtl8723as/core/rtw_io.c')
-rwxr-xr-xdrivers/net/wireless/rtl8723as/core/rtw_io.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/net/wireless/rtl8723as/core/rtw_io.c b/drivers/net/wireless/rtl8723as/core/rtw_io.c
index 83cd2fbbd395..26797830ffc3 100755
--- a/drivers/net/wireless/rtl8723as/core/rtw_io.c
+++ b/drivers/net/wireless/rtl8723as/core/rtw_io.c
@@ -384,6 +384,32 @@ int rtw_init_io_priv(_adapter *padapter, void (*set_intf_ops)(struct _io_ops *po
return _SUCCESS;
}
+/*
+* Increase and check if the continual_io_error of this @param dvobjprive is larger than MAX_CONTINUAL_IO_ERR
+* @return _TRUE:
+* @return _FALSE:
+*/
+int rtw_inc_and_chk_continual_io_error(struct dvobj_priv *dvobj)
+{
+ int ret = _FALSE;
+ int value;
+ if( (value=ATOMIC_INC_RETURN(&dvobj->continual_io_error)) > MAX_CONTINUAL_IO_ERR) {
+ DBG_871X("[dvobj:%p][ERROR] continual_io_error:%d > %d\n", dvobj, value, MAX_CONTINUAL_IO_ERR);
+ ret = _TRUE;
+ } else {
+ //DBG_871X("[dvobj:%p] continual_io_error:%d\n", dvobj, value);
+ }
+ return ret;
+}
+
+/*
+* Set the continual_io_error of this @param dvobjprive to 0
+*/
+void rtw_reset_continual_io_error(struct dvobj_priv *dvobj)
+{
+ ATOMIC_SET(&dvobj->continual_io_error, 0);
+}
+
#ifdef DBG_IO
u16 read_sniff_ranges[][2] = {