ath9k: Simplify RC alloc/free functions
authorSujith <Sujith.Manoharan@atheros.com>
Tue, 18 Nov 2008 03:33:36 +0000 (09:03 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 26 Nov 2008 14:47:22 +0000 (09:47 -0500)
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath9k/rc.c

index 21116c51758c8aa1f0709ca09fe3d0aeef9baab9..09d622ab313c34e21206cd4c396a535c7568e9f1 100644 (file)
@@ -780,29 +780,6 @@ struct ath_rate_softc *ath_rate_attach(struct ath_hal *ah)
        return asc;
 }
 
-static struct ath_rate_node *ath_rate_node_alloc(struct ath_vap *avp,
-                                                struct ath_rate_softc *rsc,
-                                                gfp_t gfp)
-{
-       struct ath_rate_node *anode;
-
-       anode = kzalloc(sizeof(struct ath_rate_node), gfp);
-       if (anode == NULL)
-               return NULL;
-
-       anode->avp = avp;
-       anode->asc = rsc;
-       avp->rc_node = anode;
-
-       return anode;
-}
-
-static void ath_rate_node_free(struct ath_rate_node *anode)
-{
-       if (anode != NULL)
-               kfree(anode);
-}
-
 void ath_rate_detach(struct ath_rate_softc *asc)
 {
        if (asc != NULL)
@@ -1778,17 +1755,6 @@ static int ath_rate_newassoc(struct ath_softc *sc,
        return 0;
 }
 
-/*
- *  This routine is called to initialize the rate control parameters
- *  in the SIB. It is called initially during system initialization
- *  or when a station is associated with the AP.
- */
-static void ath_rc_sib_init(struct ath_rate_node *ath_rc_priv)
-{
-       ath_rc_priv->rssi_down_time = jiffies_to_msecs(jiffies);
-}
-
-
 static void ath_setup_rates(struct ath_softc *sc,
                            struct ieee80211_supported_band *sband,
                            struct ieee80211_sta *sta,
@@ -1964,21 +1930,23 @@ static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp
        struct ath_vap *avp;
        struct ath_rate_node *rate_priv;
 
-       DPRINTF(sc, ATH_DBG_RATE, "%s\n", __func__);
-
        vif = sc->sc_vaps[0];
        ASSERT(vif);
 
        avp = (void *)vif->drv_priv;
 
-       rate_priv = ath_rate_node_alloc(avp, sc->sc_rc, gfp);
+       rate_priv = kzalloc(sizeof(struct ath_rate_node), gfp);
        if (!rate_priv) {
                DPRINTF(sc, ATH_DBG_FATAL,
                        "%s: Unable to allocate private rc structure\n",
                        __func__);
                return NULL;
        }
-       ath_rc_sib_init(rate_priv);
+
+       rate_priv->avp = avp;
+       rate_priv->asc = sc->sc_rc;
+       avp->rc_node = rate_priv;
+       rate_priv->rssi_down_time = jiffies_to_msecs(jiffies);
 
        return rate_priv;
 }
@@ -1987,10 +1955,8 @@ static void ath_rate_free_sta(void *priv, struct ieee80211_sta *sta,
                              void *priv_sta)
 {
        struct ath_rate_node *rate_priv = priv_sta;
-       struct ath_softc *sc = priv;
 
-       DPRINTF(sc, ATH_DBG_RATE, "%s", __func__);
-       ath_rate_node_free(rate_priv);
+       kfree(rate_priv);
 }
 
 static struct rate_control_ops ath_rate_ops = {