X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=package%2Fmac80211%2Fpatches%2F820-b43-add-antenna-control.patch;h=551213d5f90c79b0af2864cb5387713472430dc0;hb=43555e0fe2655008418be332d06fbbe465b46d49;hp=fd80824857a9e7f1f45519bfe5220f660d4693a2;hpb=1643ed70b061bf6e841800c40afed6e99dd8a8f7;p=openwrt.git diff --git a/package/mac80211/patches/820-b43-add-antenna-control.patch b/package/mac80211/patches/820-b43-add-antenna-control.patch index fd80824857..551213d5f9 100644 --- a/package/mac80211/patches/820-b43-add-antenna-control.patch +++ b/package/mac80211/patches/820-b43-add-antenna-control.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c -@@ -1535,7 +1535,7 @@ static void b43_write_beacon_template(st +@@ -1529,7 +1529,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. */ -@@ -3052,8 +3052,8 @@ static int b43_chip_init(struct b43_wlde +@@ -3049,8 +3049,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); -@@ -3782,7 +3782,6 @@ static int b43_op_config(struct ieee8021 +@@ -3794,7 +3794,6 @@ static int b43_op_config(struct ieee8021 struct b43_wldev *dev; struct b43_phy *phy; struct ieee80211_conf *conf = &hw->conf; @@ -28,7 +28,7 @@ int err = 0; bool reload_bss = false; -@@ -3836,11 +3835,9 @@ static int b43_op_config(struct ieee8021 +@@ -3848,11 +3847,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) { -@@ -4910,6 +4907,47 @@ static int b43_op_get_survey(struct ieee +@@ -4974,6 +4971,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, -@@ -4931,6 +4969,8 @@ static const struct ieee80211_ops b43_hw +@@ -4995,6 +5033,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. -@@ -5177,6 +5217,8 @@ static int b43_one_core_attach(struct b4 +@@ -5241,6 +5281,8 @@ static int b43_one_core_attach(struct b4 if (!wldev) goto out; @@ -108,19 +108,19 @@ wldev->use_pio = b43_modparam_pio; wldev->dev = dev; wldev->wl = wl; -@@ -5264,6 +5306,9 @@ static struct b43_wl *b43_wireless_init( - BIT(NL80211_IFTYPE_WDS) | - BIT(NL80211_IFTYPE_ADHOC); +@@ -5331,6 +5373,9 @@ static struct b43_wl *b43_wireless_init( + + hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; + hw->wiphy->available_antennas_rx = 0x3; + hw->wiphy->available_antennas_tx = 0x3; + - hw->queues = modparam_qos ? 4 : 1; - wl->mac80211_initially_registered_queues = hw->queues; + wl->hw_registred = false; hw->max_rates = 2; + SET_IEEE80211_DEV(hw, dev->dev); --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h -@@ -792,6 +792,8 @@ struct b43_wldev { +@@ -808,6 +808,8 @@ struct b43_wldev { bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ bool use_pio; /* TRUE if next init should use PIO */ int gpiomask; /* GPIO LED mask as a module parameter */