mac80211: update to backports-4.14-rc2
[openwrt/staging/lynxis.git] / package / kernel / mac80211 / patches / 812-b43-add-antenna-control.patch
index 33c9402f182039ef1f77c1da503e00e268900a31..932c83b48eaa2a84143303b380f4a0491af3a08c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/broadcom/b43/main.c
 +++ b/drivers/net/wireless/broadcom/b43/main.c
-@@ -1648,7 +1648,7 @@ static void b43_write_beacon_template(st
+@@ -1658,7 +1658,7 @@ static void b43_write_beacon_template(st
                                  len, ram_offset, shm_size_offset, rate);
  
        /* Write the PHY TX control parameters. */
@@ -9,7 +9,7 @@
        antenna = b43_antenna_to_phyctl(antenna);
        ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL);
        /* We can't send beacons with short preamble. Would get PHY errors. */
-@@ -3297,8 +3297,8 @@ static int b43_chip_init(struct b43_wlde
+@@ -3307,8 +3307,8 @@ static int b43_chip_init(struct b43_wlde
  
        /* Select the antennae */
        if (phy->ops->set_rx_antenna)
@@ -20,7 +20,7 @@
  
        if (phy->type == B43_PHYTYPE_B) {
                value16 = b43_read16(dev, 0x005E);
-@@ -3998,7 +3998,6 @@ static int b43_op_config(struct ieee8021
+@@ -4008,7 +4008,6 @@ static int b43_op_config(struct ieee8021
        struct b43_wldev *dev = wl->current_dev;
        struct b43_phy *phy = &dev->phy;
        struct ieee80211_conf *conf = &hw->conf;
@@ -28,7 +28,7 @@
        int err = 0;
  
        mutex_lock(&wl->mutex);
-@@ -4041,11 +4040,9 @@ static int b43_op_config(struct ieee8021
+@@ -4051,11 +4050,9 @@ static int b43_op_config(struct ieee8021
        }
  
        /* Antennas for RX and management frame TX. */
@@ -42,7 +42,7 @@
  
        if (wl->radio_enabled != phy->radio_on) {
                if (wl->radio_enabled) {
-@@ -5189,6 +5186,47 @@ static int b43_op_get_survey(struct ieee
+@@ -5199,6 +5196,47 @@ static int b43_op_get_survey(struct ieee
        return 0;
  }
  
@@ -90,7 +90,7 @@
  static const struct ieee80211_ops b43_hw_ops = {
        .tx                     = b43_op_tx,
        .conf_tx                = b43_op_conf_tx,
-@@ -5210,6 +5248,8 @@ static const struct ieee80211_ops b43_hw
+@@ -5220,6 +5258,8 @@ static const struct ieee80211_ops b43_hw
        .sw_scan_complete       = b43_op_sw_scan_complete_notifier,
        .get_survey             = b43_op_get_survey,
        .rfkill_poll            = b43_rfkill_poll,
@@ -99,7 +99,7 @@
  };
  
  /* Hard-reset the chip. Do not call this directly.
-@@ -5513,6 +5553,8 @@ static int b43_one_core_attach(struct b4
+@@ -5523,6 +5563,8 @@ static int b43_one_core_attach(struct b4
        if (!wldev)
                goto out;
  
        wldev->use_pio = b43_modparam_pio;
        wldev->dev = dev;
        wldev->wl = wl;
-@@ -5605,6 +5647,9 @@ static struct b43_wl *b43_wireless_init(
+@@ -5617,6 +5659,9 @@ static struct b43_wl *b43_wireless_init(
  
-       hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
+       wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
  
 +      hw->wiphy->available_antennas_rx = 0x3;
 +      hw->wiphy->available_antennas_tx = 0x3;