Search Linux Wireless

[RFC 1/2] b43: Fixes injection speed (up to 350 pps)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



# Fixes injection speed (up to 350 pps)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 345c34b..d3a5535 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2841,6 +2841,11 @@ static int b43_op_tx(struct ieee80211_hw *hw,
                goto out;
        if (unlikely(b43_status(dev) < B43_STAT_STARTED))
                goto out;
+
+       if (ctl->type == IEEE80211_IF_TYPE_MNTR) {
+               ctl->flags |= IEEE80211_TXCTL_NO_ACK;
+       }
+
        /* TX is done without a global lock. */
        if (b43_using_pio_transfers(dev))
                err = b43_pio_tx(dev, skb, ctl);
diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c
index 19aefbf..85e446b 100644
--- a/drivers/net/wireless/b43/xmit.c
+++ b/drivers/net/wireless/b43/xmit.c
@@ -318,7 +318,8 @@ int b43_generate_txhdr(struct b43_wldev *dev,
        /* MAC control */
        if (!(txctl->flags & IEEE80211_TXCTL_NO_ACK))
                mac_ctl |= B43_TXH_MAC_ACK;
-       if (!(((fctl & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
+       if ( (txctl->type != IEEE80211_IF_TYPE_MNTR) &&
+             !(((fctl & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
              ((fctl & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PSPOLL)))
                mac_ctl |= B43_TXH_MAC_HWSEQ;
        if (txctl->flags & IEEE80211_TXCTL_FIRST_FRAGMENT)

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux