diff options
Diffstat (limited to 'drivers/net/wireless/rtl8723as/core/rtw_io.c')
-rwxr-xr-x | drivers/net/wireless/rtl8723as/core/rtw_io.c | 26 |
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] = { |