* [PATCH V2 3.2] b43: fill ctl1 word on all newer PHYs, fix PHY errors
@ 2011-10-17 14:59 Rafał Miłecki
2011-10-18 0:04 ` Chris Vine
0 siblings, 1 reply; 3+ messages in thread
From: Rafał Miłecki @ 2011-10-17 14:59 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
This fixes PHY transmission errors reported on some LP-PHY and HT-PHY
cards. For LP-PHY they were quite rare and not really noticable. On
HT-PHY they were critical, OFDM rates were not available at all.
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
V2: don't use >= for checking "old" vs. "new" PHY type, that was a
little hacky.
---
drivers/net/wireless/b43/xmit.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c
index c73e860..8d69f7f 100644
--- a/drivers/net/wireless/b43/xmit.c
+++ b/drivers/net/wireless/b43/xmit.c
@@ -175,6 +175,7 @@ void b43_generate_plcp_hdr(struct b43_plcp_hdr4 *plcp,
}
}
+/* TODO: verify if needed for SSLPN or LCN */
static u16 b43_generate_tx_phy_ctl1(struct b43_wldev *dev, u8 bitrate)
{
const struct b43_phy *phy = &dev->phy;
@@ -256,6 +257,9 @@ int b43_generate_txhdr(struct b43_wldev *dev,
unsigned int plcp_fragment_len;
u32 mac_ctl = 0;
u16 phy_ctl = 0;
+ bool fill_phy_ctl1 = (phy->type == B43_PHYTYPE_LP ||
+ phy->type == B43_PHYTYPE_N ||
+ phy->type == B43_PHYTYPE_HT);
u8 extra_ft = 0;
struct ieee80211_rate *txrate;
struct ieee80211_tx_rate *rates;
@@ -531,7 +535,7 @@ int b43_generate_txhdr(struct b43_wldev *dev,
extra_ft |= B43_TXH_EFT_RTSFB_CCK;
if (rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS &&
- phy->type == B43_PHYTYPE_N) {
+ fill_phy_ctl1) {
txhdr->phy_ctl1_rts = cpu_to_le16(
b43_generate_tx_phy_ctl1(dev, rts_rate));
txhdr->phy_ctl1_rts_fb = cpu_to_le16(
@@ -552,7 +556,7 @@ int b43_generate_txhdr(struct b43_wldev *dev,
break;
}
- if (phy->type == B43_PHYTYPE_N) {
+ if (fill_phy_ctl1) {
txhdr->phy_ctl1 =
cpu_to_le16(b43_generate_tx_phy_ctl1(dev, rate));
txhdr->phy_ctl1_fb =
--
1.7.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH V2 3.2] b43: fill ctl1 word on all newer PHYs, fix PHY errors
2011-10-17 14:59 [PATCH V2 3.2] b43: fill ctl1 word on all newer PHYs, fix PHY errors Rafał Miłecki
@ 2011-10-18 0:04 ` Chris Vine
2011-10-18 4:17 ` Rafał Miłecki
0 siblings, 1 reply; 3+ messages in thread
From: Chris Vine @ 2011-10-18 0:04 UTC (permalink / raw)
To: b43-dev
On Mon, 17 Oct 2011 16:59:25 +0200
Rafa? Mi?ecki <zajec5@gmail.com> wrote:
> This fixes PHY transmission errors reported on some LP-PHY and HT-PHY
> cards. For LP-PHY they were quite rare and not really noticable. On
> HT-PHY they were critical, OFDM rates were not available at all.
[snip]
Does this fix the "b43-phy0 debug: Out of order TX status report on DMA
ring 1" stuff?
Chris
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH V2 3.2] b43: fill ctl1 word on all newer PHYs, fix PHY errors
2011-10-18 0:04 ` Chris Vine
@ 2011-10-18 4:17 ` Rafał Miłecki
0 siblings, 0 replies; 3+ messages in thread
From: Rafał Miłecki @ 2011-10-18 4:17 UTC (permalink / raw)
To: b43-dev
W dniu 18 pa?dziernika 2011 02:04 u?ytkownik Chris Vine
<chris@cvine.freeserve.co.uk> napisa?:
> On Mon, 17 Oct 2011 16:59:25 +0200
> Rafa? Mi?ecki <zajec5@gmail.com> wrote:
>> This fixes PHY transmission errors reported on some LP-PHY and HT-PHY
>> cards. For LP-PHY they were quite rare and not really noticable. On
>> HT-PHY they were critical, OFDM rates were not available at all.
> [snip]
>
> Does this fix the "b43-phy0 debug: Out of order TX status report on DMA
> ring 1" stuff?
I don't think so :( It's about
b43-phy0 ERROR: PHY transmission error
--
Rafa?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-10-18 4:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-17 14:59 [PATCH V2 3.2] b43: fill ctl1 word on all newer PHYs, fix PHY errors Rafał Miłecki
2011-10-18 0:04 ` Chris Vine
2011-10-18 4:17 ` Rafał Miłecki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox