rtlwifi: Initialize rate_init member of struct rate_control_ops
authorCatalin Iacob <iacobcatalin@gmail.com>
Mon, 11 Feb 2013 21:18:05 +0000 (22:18 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Feb 2013 16:09:04 +0000 (11:09 -0500)
This partially reverts commit 44ba973699b831414c3f8eef68ee5a7fe1208a05.

rate_control_rate_init assumes the rate_init member of
struct rate_control_ops is not NULL therefore not initializing it leads to
an oops as soon the driver succesfully associates to an AP.

The removal of rate_update from 44ba973699b831414c3f8eef68ee5a7fe1208a05
is ok because rate_update is checked for NULL before being
called.

Signed-off-by: Catalin Iacob <iacobcatalin@gmail.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtlwifi/rc.c

index 204f46c4510d842c7a1c8c20555f990f9ae86051..6ad8bb758961a916613c5e57f273c4ceae404b62 100644 (file)
@@ -217,6 +217,12 @@ static void rtl_tx_status(void *ppriv,
        }
 }
 
+static void rtl_rate_init(void *ppriv,
+                         struct ieee80211_supported_band *sband,
+                         struct ieee80211_sta *sta, void *priv_sta)
+{
+}
+
 static void *rtl_rate_alloc(struct ieee80211_hw *hw,
                struct dentry *debugfsdir)
 {
@@ -261,6 +267,7 @@ static struct rate_control_ops rtl_rate_ops = {
        .free = rtl_rate_free,
        .alloc_sta = rtl_rate_alloc_sta,
        .free_sta = rtl_rate_free_sta,
+       .rate_init = rtl_rate_init,
        .tx_status = rtl_tx_status,
        .get_rate = rtl_get_rate,
 };