summaryrefslogtreecommitdiff
path: root/patches/collateral-evolutions/network/0028-select_queue
diff options
context:
space:
mode:
Diffstat (limited to 'patches/collateral-evolutions/network/0028-select_queue')
-rw-r--r--patches/collateral-evolutions/network/0028-select_queue/INFO12
-rw-r--r--patches/collateral-evolutions/network/0028-select_queue/mac80211.patch44
-rw-r--r--patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch23
3 files changed, 79 insertions, 0 deletions
diff --git a/patches/collateral-evolutions/network/0028-select_queue/INFO b/patches/collateral-evolutions/network/0028-select_queue/INFO
new file mode 100644
index 00000000..519e4fcf
--- /dev/null
+++ b/patches/collateral-evolutions/network/0028-select_queue/INFO
@@ -0,0 +1,12 @@
+backports: adapt to changes in netdev select_queue call
+
+This patch reverts the changes done in the following commit for older
+kernel versions:
+commit f663dd9aaf9ed124f25f0f8452edf238f087ad50
+Author: Jason Wang <jasowang@redhat.com>
+Date: Fri Jan 10 16:18:26 2014 +0800
+
+ net: core: explicitly select a txq before doing l2 forwarding
+
+mcgrof@ergon ~/linux (git::master)$ git describe --contains f663dd9aaf9ed124f25f0f8452edf238f087ad50
+v3.13-rc8~4^2~2
diff --git a/patches/collateral-evolutions/network/0028-select_queue/mac80211.patch b/patches/collateral-evolutions/network/0028-select_queue/mac80211.patch
new file mode 100644
index 00000000..b4b81512
--- /dev/null
+++ b/patches/collateral-evolutions/network/0028-select_queue/mac80211.patch
@@ -0,0 +1,44 @@
+diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
+index 088111a..dcf149a 100644
+--- a/net/mac80211/iface.c
++++ b/net/mac80211/iface.c
+@@ -1062,10 +1062,19 @@ static void ieee80211_uninit(struct net_
+ ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev));
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ static u16 ieee80211_netdev_select_queue(struct net_device *dev,
+ struct sk_buff *skb,
+ void *accel_priv,
+ select_queue_fallback_t fallback)
++#elif 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);
+ }
+@@ -1081,10 +1090,19 @@ static const struct net_device_ops ieee8
+ .ndo_select_queue = ieee80211_netdev_select_queue,
+ };
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ static u16 ieee80211_monitor_select_queue(struct net_device *dev,
+ struct sk_buff *skb,
+ void *accel_priv,
+ select_queue_fallback_t fallback)
++#elif 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;
diff --git a/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch b/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch
new file mode 100644
index 00000000..db9ed6e5
--- /dev/null
+++ b/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch
@@ -0,0 +1,23 @@
+diff --git a/drivers/net/wireless/mwifiex/main.c b/drivers/net/wireless/mwifiex/main.c
+index 9d3d275..f8b16f4 100644
+--- a/drivers/net/wireless/mwifiex/main.c
++++ b/drivers/net/wireless/mwifiex/main.c
+@@ -746,9 +746,18 @@ static struct net_device_stats *mwifiex_
+ return &priv->stats;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ static u16
+ mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb,
+ void *accel_priv, select_queue_fallback_t fallback)
++#elif 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];