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. */
-@@ -3045,8 +3045,8 @@ static int b43_chip_init(struct b43_wlde
+@@ -3046,8 +3046,8 @@ static int b43_chip_init(struct b43_wlde
/* Select the antennae */
if (phy->ops->set_rx_antenna)
if (phy->type == B43_PHYTYPE_B) {
value16 = b43_read16(dev, 0x005E);
-@@ -3789,7 +3789,6 @@ static int b43_op_config(struct ieee8021
+@@ -3790,7 +3790,6 @@ static int b43_op_config(struct ieee8021
struct b43_wldev *dev;
struct b43_phy *phy;
struct ieee80211_conf *conf = &hw->conf;
int err = 0;
bool reload_bss = false;
-@@ -3843,11 +3842,9 @@ static int b43_op_config(struct ieee8021
+@@ -3844,11 +3843,9 @@ static int b43_op_config(struct ieee8021
}
/* Antennas for RX and management frame TX. */
if (wl->radio_enabled != phy->radio_on) {
if (wl->radio_enabled) {
-@@ -4934,6 +4931,47 @@ static int b43_op_get_survey(struct ieee
+@@ -4941,6 +4938,47 @@ static int b43_op_get_survey(struct ieee
return 0;
}
static const struct ieee80211_ops b43_hw_ops = {
.tx = b43_op_tx,
.conf_tx = b43_op_conf_tx,
-@@ -4955,6 +4993,8 @@ static const struct ieee80211_ops b43_hw
+@@ -4962,6 +5000,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,
};
/* Hard-reset the chip. Do not call this directly.
-@@ -5201,6 +5241,8 @@ static int b43_one_core_attach(struct b4
+@@ -5208,6 +5248,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;
-@@ -5291,6 +5333,9 @@ static struct b43_wl *b43_wireless_init(
+@@ -5298,6 +5340,9 @@ static struct b43_wl *b43_wireless_init(
hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
+
hw->queues = modparam_qos ? B43_QOS_QUEUE_NUM : 1;
wl->mac80211_initially_registered_queues = hw->queues;
- hw->max_rates = 2;
+ wl->hw_registred = false;
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -804,6 +804,8 @@ struct b43_wldev {