rtl8187: Add missing priv->vif assignments
authorHerton Ronaldo Krzesinski <herton@mandriva.com.br>
Wed, 9 Apr 2008 19:38:31 +0000 (16:38 -0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 15 Apr 2008 18:51:57 +0000 (14:51 -0400)
This adds missing priv->vif assignments after "mac80211: don't use
interface indices in drivers" change. As rtl8180, rtl8187 also needs
priv->vif to be set, as without this an oops can happen in rtl8187_tx
function (priv->vif is passed to ieee80211_rts_duration).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtl8187_dev.c

index f44505994a0ee98f63826406ed457b7d65acebff..133b3f39eeb68acc3dd8298279a4955a7b3a7f81 100644 (file)
@@ -509,6 +509,8 @@ static int rtl8187_add_interface(struct ieee80211_hw *dev,
                return -EOPNOTSUPP;
        }
 
+       priv->vif = conf->vif;
+
        rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD, RTL818X_EEPROM_CMD_CONFIG);
        for (i = 0; i < ETH_ALEN; i++)
                rtl818x_iowrite8(priv, &priv->map->MAC[i],
@@ -523,6 +525,7 @@ static void rtl8187_remove_interface(struct ieee80211_hw *dev,
 {
        struct rtl8187_priv *priv = dev->priv;
        priv->mode = IEEE80211_IF_TYPE_MNTR;
+       priv->vif = NULL;
 }
 
 static int rtl8187_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf)