mac80211: update to wireless-testing 2014-01-23
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39427v19.07.3_mercusys_ac12_duma
parent
2725913d2a
commit
eb7a1ba94b
@ -1,65 +0,0 @@
|
||||
backports: use old led api on old kernel versions.
|
||||
|
||||
Usage of a new led api was introduced in mac80211, this patch make
|
||||
backports use the old api on older kernel versions. This could cause a
|
||||
problem with the led, the transmit led could stay on if nothing is
|
||||
transfered.
|
||||
|
||||
This backports the following upstream commit:
|
||||
commit e47f2509e5f182f4df144406de6f2bc78179d57e
|
||||
Author: Fabio Baltieri <fabio.baltieri@gmail.com>
|
||||
Date: Thu Jul 25 12:00:26 2013 +0200
|
||||
|
||||
mac80211: use oneshot blink API for LED triggers
|
||||
|
||||
--- a/net/mac80211/ieee80211_i.h
|
||||
+++ b/net/mac80211/ieee80211_i.h
|
||||
@@ -1122,6 +1122,9 @@ struct ieee80211_local {
|
||||
u32 dot11TransmittedFrameCount;
|
||||
|
||||
#ifdef CPTCFG_MAC80211_LEDS
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0)
|
||||
+ int tx_led_counter, rx_led_counter;
|
||||
+#endif
|
||||
struct led_trigger *tx_led, *rx_led, *assoc_led, *radio_led;
|
||||
struct tpt_led_trigger *tpt_led_trigger;
|
||||
char tx_led_name[32], rx_led_name[32],
|
||||
--- a/net/mac80211/led.c
|
||||
+++ b/net/mac80211/led.c
|
||||
@@ -16,18 +16,36 @@
|
||||
|
||||
void ieee80211_led_rx(struct ieee80211_local *local)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
|
||||
unsigned long led_delay = MAC80211_BLINK_DELAY;
|
||||
+#endif
|
||||
if (unlikely(!local->rx_led))
|
||||
return;
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
|
||||
led_trigger_blink_oneshot(local->rx_led, &led_delay, &led_delay, 0);
|
||||
+#else
|
||||
+ if (local->rx_led_counter++ % 2 == 0)
|
||||
+ led_trigger_event(local->rx_led, LED_OFF);
|
||||
+ else
|
||||
+ led_trigger_event(local->rx_led, LED_FULL);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ieee80211_led_tx(struct ieee80211_local *local)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
|
||||
unsigned long led_delay = MAC80211_BLINK_DELAY;
|
||||
+#endif
|
||||
if (unlikely(!local->tx_led))
|
||||
return;
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
|
||||
led_trigger_blink_oneshot(local->tx_led, &led_delay, &led_delay, 0);
|
||||
+#else
|
||||
+ if (local->tx_led_counter++ % 2 == 0)
|
||||
+ led_trigger_event(local->tx_led, LED_OFF);
|
||||
+ else
|
||||
+ led_trigger_event(local->tx_led, LED_FULL);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ieee80211_led_assoc(struct ieee80211_local *local, bool associated)
|
@ -0,0 +1,49 @@
|
||||
--- a/net/mac80211/iface.c
|
||||
+++ b/net/mac80211/iface.c
|
||||
@@ -1044,9 +1044,14 @@ static void ieee80211_uninit(struct net_
|
||||
ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev));
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)
|
||||
static u16 ieee80211_netdev_select_queue(struct net_device *dev,
|
||||
struct sk_buff *skb,
|
||||
void *accel_priv)
|
||||
+#else
|
||||
+static u16 ieee80211_netdev_select_queue(struct net_device *dev,
|
||||
+ struct sk_buff *skb)
|
||||
+#endif
|
||||
{
|
||||
return ieee80211_select_queue(IEEE80211_DEV_TO_SUB_IF(dev), skb);
|
||||
}
|
||||
@@ -1062,9 +1067,14 @@ static const struct net_device_ops ieee8
|
||||
.ndo_select_queue = ieee80211_netdev_select_queue,
|
||||
};
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)
|
||||
static u16 ieee80211_monitor_select_queue(struct net_device *dev,
|
||||
struct sk_buff *skb,
|
||||
void *accel_priv)
|
||||
+#else
|
||||
+static u16 ieee80211_monitor_select_queue(struct net_device *dev,
|
||||
+ struct sk_buff *skb)
|
||||
+#endif
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
--- a/drivers/net/wireless/mwifiex/main.c
|
||||
+++ b/drivers/net/wireless/mwifiex/main.c
|
||||
@@ -746,9 +746,14 @@ static struct net_device_stats *mwifiex_
|
||||
return &priv->stats;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)
|
||||
static u16
|
||||
mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb,
|
||||
void *accel_priv)
|
||||
+#else
|
||||
+static u16
|
||||
+mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb)
|
||||
+#endif
|
||||
{
|
||||
skb->priority = cfg80211_classify8021d(skb, NULL);
|
||||
return mwifiex_1d_to_wmm_queue[skb->priority];
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,18 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1978,8 +1978,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||||
REG_WRITE(ah, AR_OBS, 8);
|
||||
@@ -359,13 +359,8 @@ static void ath9k_hw_init_config(struct
|
||||
|
||||
if (ah->config.rx_intr_mitigation) {
|
||||
- REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
|
||||
- REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 2000);
|
||||
+ REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 250);
|
||||
+ REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 500);
|
||||
}
|
||||
ah->config.rx_intr_mitigation = true;
|
||||
|
||||
if (ah->config.tx_intr_mitigation) {
|
||||
- if (AR_SREV_9300_20_OR_LATER(ah)) {
|
||||
- ah->config.rimt_last = 500;
|
||||
- ah->config.rimt_first = 2000;
|
||||
- } else {
|
||||
- ah->config.rimt_last = 250;
|
||||
- ah->config.rimt_first = 700;
|
||||
- }
|
||||
+ ah->config.rimt_last = 250;
|
||||
+ ah->config.rimt_first = 500;
|
||||
|
||||
/*
|
||||
* We need this for PCI devices only (Cardbus, PCI, miniPCI)
|
||||
|
Loading…
Reference in New Issue