From: Mike McCormack <mikem@xxxxxxxxxx> Signed-off-by: Mike McCormack <mikem@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> --- drivers/staging/rtl8192e/r8192E.h | 1 + drivers/staging/rtl8192e/r8192E_core.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/r8192E.h b/drivers/staging/rtl8192e/r8192E.h index 0ec2c06..0de74da 100644 --- a/drivers/staging/rtl8192e/r8192E.h +++ b/drivers/staging/rtl8192e/r8192E.h @@ -884,6 +884,7 @@ typedef struct r8192_priv u8 retry_rts; struct work_struct reset_wq; + u8 rx_chk_cnt; //for rtl819xPci // Data Rate Config. Added by Annie, 2006-04-13. diff --git a/drivers/staging/rtl8192e/r8192E_core.c b/drivers/staging/rtl8192e/r8192E_core.c index 2fdc1cd..f631376 100644 --- a/drivers/staging/rtl8192e/r8192E_core.c +++ b/drivers/staging/rtl8192e/r8192E_core.c @@ -3484,51 +3484,51 @@ static bool HalRxCheckStuck8190Pci(struct net_device *dev) struct r8192_priv *priv = ieee80211_priv(dev); u16 RegRxCounter = read_nic_word(dev, 0x130); bool bStuck = FALSE; - static u8 rx_chk_cnt = 0; + RT_TRACE(COMP_RESET,"%s(): RegRxCounter is %d,RxCounter is %d\n",__FUNCTION__,RegRxCounter,priv->RxCounter); // If rssi is small, we should check rx for long time because of bad rx. // or maybe it will continuous silent reset every 2 seconds. - rx_chk_cnt++; + priv->rx_chk_cnt++; if(priv->undecorated_smoothed_pwdb >= (RateAdaptiveTH_High+5)) { - rx_chk_cnt = 0; //high rssi, check rx stuck right now. + priv->rx_chk_cnt = 0; /* high rssi, check rx stuck right now. */ } else if(priv->undecorated_smoothed_pwdb < (RateAdaptiveTH_High+5) && ((priv->CurrentChannelBW!=HT_CHANNEL_WIDTH_20&&priv->undecorated_smoothed_pwdb>=RateAdaptiveTH_Low_40M) || (priv->CurrentChannelBW==HT_CHANNEL_WIDTH_20&&priv->undecorated_smoothed_pwdb>=RateAdaptiveTH_Low_20M)) ) { - if(rx_chk_cnt < 2) + if(priv->rx_chk_cnt < 2) { return bStuck; } else { - rx_chk_cnt = 0; + priv->rx_chk_cnt = 0; } } else if(((priv->CurrentChannelBW!=HT_CHANNEL_WIDTH_20&&priv->undecorated_smoothed_pwdb<RateAdaptiveTH_Low_40M) || (priv->CurrentChannelBW==HT_CHANNEL_WIDTH_20&&priv->undecorated_smoothed_pwdb<RateAdaptiveTH_Low_20M)) && priv->undecorated_smoothed_pwdb >= VeryLowRSSI) { - if(rx_chk_cnt < 4) + if(priv->rx_chk_cnt < 4) { return bStuck; } else { - rx_chk_cnt = 0; + priv->rx_chk_cnt = 0; } } else { - if(rx_chk_cnt < 8) + if(priv->rx_chk_cnt < 8) { return bStuck; } else { - rx_chk_cnt = 0; + priv->rx_chk_cnt = 0; } } if(priv->RxCounter==RegRxCounter) -- 1.7.4.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel