Staging: rtl8192e: Move static variable to device struct
authorMike McCormack <mikem@ring3k.org>
Mon, 31 Jan 2011 13:09:44 +0000 (22:09 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 31 Jan 2011 21:57:04 +0000 (13:57 -0800)
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rtl8192e/r8192E.h
drivers/staging/rtl8192e/r8192E_core.c

index 0ec2c062db26f2234b51ef8edf7c3a8dbc75736a..0de74da1a48f6e4e87444e6c8c78fdf22415d9c1 100644 (file)
@@ -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.
index 2fdc1cd75ed97f3d999494d0238944f5cebaa963..f6313766a91a891d05963609692cb4c17d6d0073 100644 (file)
@@ -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)