summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2013-11-13 09:00:49 -0500
committerJosh Boyer <jwboyer@fedoraproject.org>2013-11-13 10:27:35 -0500
commit991987b30763184d46ed1546f0712f2f6111995a (patch)
treecb7be162f6259c6bcdedde3952b756bb37b12d94
parent43260145fe3473020291436ef472240abc6e9bd0 (diff)
downloadkernel-991987b30763184d46ed1546f0712f2f6111995a.tar.gz
kernel-991987b30763184d46ed1546f0712f2f6111995a.tar.xz
kernel-991987b30763184d46ed1546f0712f2f6111995a.zip
Linux v3.12-7033-g42a2d92
Enable support for the new nf_tables stuff
-rw-r--r--0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch98
-rw-r--r--Makefile.release1
-rw-r--r--PatchList.txt9
-rw-r--r--config-debug1
-rw-r--r--config-generic37
-rw-r--r--config-nodebug1
-rw-r--r--kernel.spec23
-rw-r--r--rt2800-add-support-for-rf3070.patch84
-rw-r--r--rt2800usb-slow-down-TX-status-polling.patch53
-rw-r--r--sources3
10 files changed, 45 insertions, 265 deletions
diff --git a/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch b/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
deleted file mode 100644
index 499c34a63..000000000
--- a/0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 3efd689c41080b0d4a9cc263a51f2868e3d5a37b Mon Sep 17 00:00:00 2001
-From: Stanislaw Gruszka <sgruszka@redhat.com>
-Date: Wed, 9 Oct 2013 15:03:57 +0200
-Subject: [PATCH] iwlwifi: don't WARN on bad firmware state
-
-When we restart firmware is possible and hance firmware is marked as not
-alive, we can still get calls from mac80211. Don't WARN on in this
-situation as this triggers automatic bug reports with no valuable
-information.
-
-This extend change from:
-
-commit 8ca95995e64f5d270889badb3e449dca91106a2b
-Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Date: Sun Sep 15 11:37:17 2013 +0300
-
- iwlwifi: don't WARN on host commands sent when firmware is dead
-
-which remove WARN_ONCE from one place, but those warnings are also
-triggered from other functions.
-
-Patch adds also unlikely() statement.
-
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- drivers/net/wireless/iwlwifi/iwl-trans.h | 22 +++++++++++-----------
- 1 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h
-index 80b4750..c6bac7c 100644
---- a/drivers/net/wireless/iwlwifi/iwl-trans.h
-+++ b/drivers/net/wireless/iwlwifi/iwl-trans.h
-@@ -601,7 +601,7 @@ static inline int iwl_trans_send_cmd(struct iwl_trans *trans,
- {
- int ret;
-
-- if (trans->state != IWL_TRANS_FW_ALIVE) {
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE)) {
- IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
- return -EIO;
- }
-@@ -640,8 +640,8 @@ static inline void iwl_trans_free_tx_cmd(struct iwl_trans *trans,
- static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
- struct iwl_device_cmd *dev_cmd, int queue)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- return trans->ops->tx(trans, skb, dev_cmd, queue);
- }
-@@ -649,16 +649,16 @@ static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
- static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
- int ssn, struct sk_buff_head *skbs)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->reclaim(trans, queue, ssn, skbs);
- }
-
- static inline void iwl_trans_txq_disable(struct iwl_trans *trans, int queue)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->txq_disable(trans, queue);
- }
-@@ -669,8 +669,8 @@ static inline void iwl_trans_txq_enable(struct iwl_trans *trans, int queue,
- {
- might_sleep();
-
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely((trans->state != IWL_TRANS_FW_ALIVE)))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- trans->ops->txq_enable(trans, queue, fifo, sta_id, tid,
- frame_limit, ssn);
-@@ -685,8 +685,8 @@ static inline void iwl_trans_ac_txq_enable(struct iwl_trans *trans, int queue,
-
- static inline int iwl_trans_wait_tx_queue_empty(struct iwl_trans *trans)
- {
-- WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE,
-- "%s bad state = %d", __func__, trans->state);
-+ if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
-+ IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);
-
- return trans->ops->wait_tx_queue_empty(trans);
- }
---
-1.7.1
-
diff --git a/Makefile.release b/Makefile.release
index ef0d66b62..4cd25f2d0 100644
--- a/Makefile.release
+++ b/Makefile.release
@@ -64,6 +64,7 @@ config-release:
@perl -pi -e 's/CONFIG_QUOTA_DEBUG=y/# CONFIG_QUOTA_DEBUG is not set/' config-nodebug
@perl -pi -e 's/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_PER_CPU_MAPS=y/# CONFIG_DEBUG_PER_CPU_MAPS is not set/' config-nodebug
+ @perl -pi -e 's/CONFIG_PERCPU_TEST=m/# CONFIG_PERCPU_TEST is not set/' config-nodebug
@perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not set/' config-nodebug
@perl -pi -e 's/CONFIG_TEST_STRING_HELPERS=m/# CONFIG_TEST_STRING_HELPERS is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_ATOMIC_SLEEP=y/# CONFIG_DEBUG_ATOMIC_SLEEP is not set/' config-nodebug
diff --git a/PatchList.txt b/PatchList.txt
index 46fa21cea..9d1460cf4 100644
--- a/PatchList.txt
+++ b/PatchList.txt
@@ -1,8 +1,5 @@
**** Backports and patches headed/already upsteram *****************************
-* rt2800usb-slow-down-TX-status-polling.patch (rhbz 984696)
- - Still pending upstream. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=62781
-
* btrfs-relocate-csums-properly-with-prealloc-ext.patch (rhbz 1011714)
- Still pending upstream
@@ -12,18 +9,12 @@
* dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch (rhbz 993744)
- Still pending upstream
-* 0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch (rhbz 896695)
- - Still pending upstream
-
* vfio-iommu-Fixed-interaction-of-VFIO_IOMMU_MAP_DMA.patch (rhbz 998732)
- Still pending upstream
* iommu-Remove-stack-trace-from-broken-irq-remapping-warning.patch (rhbz 982153)
- Still pending upstream
-* rt2800-add-support-for-rf3070.patch (rhbz 974072)
- - Actually I'm unsure of what the upstream status on this one is.
-
* elevator-Fix-a-race-in-elevator-switching-and-md.patch
* elevator-acquire-q-sysfs_lock-in-elevator_change.patch (rhbz 902012)
- I believe these are both queued for the next upstream release
diff --git a/config-debug b/config-debug
index fb7df3e38..8000b4e86 100644
--- a/config-debug
+++ b/config-debug
@@ -104,6 +104,7 @@ CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
+CONFIG_PERCPU_TEST=m
CONFIG_TEST_LIST_SORT=y
CONFIG_TEST_STRING_HELPERS=m
diff --git a/config-generic b/config-generic
index 0c2eb994a..490c77fa7 100644
--- a/config-generic
+++ b/config-generic
@@ -786,6 +786,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_TUNNEL=m
@@ -982,6 +983,30 @@ CONFIG_NF_NAT_IPV6=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
# CONFIG_IP6_NF_TARGET_NPT is not set
+# nf_tables support
+CONFIG_NF_TABLES=m
+CONFIG_NFT_EXTHDR=m
+CONFIG_NFT_META=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_RBTREE=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_COUNTER=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_COMPAT=m
+
+CONFIG_NF_TABLES_IPV4=m
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_CHAIN_ROUTE_IPV4=m
+CONFIG_NFT_CHAIN_NAT_IPV4=m
+CONFIG_NF_TABLES_ARP=m
+
+CONFIG_NF_TABLES_IPV6=m
+CONFIG_NFT_CHAIN_ROUTE_IPV6=m
+CONFIG_NFT_CHAIN_NAT_IPV6=m
+
+CONFIG_NF_TABLES_BRIDGE=m
#
# Bridge: Netfilter Configuration
#
@@ -1029,7 +1054,9 @@ CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
@@ -1112,6 +1139,7 @@ CONFIG_NET_CLS=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_IND=y
@@ -1594,6 +1622,8 @@ CONFIG_ATH10K_PCI=m
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_DEBUGFS=y
+CONFIG_WCN36XX=m
+# CONFIG_WCN36XX_DEBUGFS is not set
CONFIG_WIL6210=m
CONFIG_WIL6210_ISR_COR=y
# CONFIG_WIL6210_TRACING is not set
@@ -1778,6 +1808,7 @@ CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_NFC=m
+CONFIG_NFC_DIGITAL=m
CONFIG_NFC_NCI=m
CONFIG_NFC_HCI=m
CONFIG_NFC_SHDLC=y
@@ -1787,6 +1818,7 @@ CONFIG_NFC_SIM=m
#
# Near Field Communication (NFC) devices
#
+CONFIG_NFC_PORT100=m
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_I2C=m
CONFIG_NFC_PN533=m
@@ -3610,6 +3642,7 @@ CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_HUAWEI_CDC_NCM=m
CONFIG_USB_NET_CDC_MBIM=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
@@ -4369,6 +4402,7 @@ CONFIG_CRC_CCITT=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC8=m
+# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_CRC7 is not set
CONFIG_CORDIC=m
# CONFIG_DDR is not set
@@ -4396,6 +4430,7 @@ CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA_BACKLIGHT=y
@@ -4920,6 +4955,8 @@ CONFIG_IEEE802154_FAKELB=m
CONFIG_MAC802154=m
CONFIG_NET_MPLS_GSO=m
+# CONFIG_HSR is not set
+
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_MEMORY is not set
diff --git a/config-nodebug b/config-nodebug
index 66b8caa04..fbd40e8a3 100644
--- a/config-nodebug
+++ b/config-nodebug
@@ -104,6 +104,7 @@ CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
+CONFIG_PERCPU_TEST=m
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_STRING_HELPERS is not set
diff --git a/kernel.spec b/kernel.spec
index 42e99d232..64e279bc8 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -95,7 +95,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 0
# The git snapshot level
-%define gitrev 2
+%define gitrev 3
# Set rpm version accordingly
%define rpmversion 3.%{upstream_sublevel}.0
%endif
@@ -709,18 +709,12 @@ Patch25104: ansi_cprng-Fix-off-by-one-error-in-non-block-size-request.patch
Patch25114: elevator-Fix-a-race-in-elevator-switching-and-md.patch
Patch25115: elevator-acquire-q-sysfs_lock-in-elevator_change.patch
-#rhbz 974072
-Patch25116: rt2800-add-support-for-rf3070.patch
-
#rhbz 982153
Patch25123: iommu-Remove-stack-trace-from-broken-irq-remapping-warning.patch
#rhbz 998732
Patch25124: vfio-iommu-Fixed-interaction-of-VFIO_IOMMU_MAP_DMA.patch
-#rhbz 896695
-Patch25127: 0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
-
#rhbz 993744
Patch25128: dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
@@ -730,9 +724,6 @@ Patch25129: cpupower-Fix-segfault-due-to-incorrect-getopt_long-a.patch
#rhbz 1011714
Patch25131: btrfs-relocate-csums-properly-with-prealloc-ext.patch
-#rhbz 984696
-Patch25132: rt2800usb-slow-down-TX-status-polling.patch
-
Patch25140: drm-qxl-backport-fixes-for-Fedora.patch
Patch25141: Input-evdev-fall-back-to-vmalloc-for-client-event-buffer.patch
@@ -1416,18 +1407,12 @@ ApplyPatch ansi_cprng-Fix-off-by-one-error-in-non-block-size-request.patch
ApplyPatch elevator-Fix-a-race-in-elevator-switching-and-md.patch
ApplyPatch elevator-acquire-q-sysfs_lock-in-elevator_change.patch
-#rhbz 974072
-ApplyPatch rt2800-add-support-for-rf3070.patch
-
#rhbz 982153
ApplyPatch iommu-Remove-stack-trace-from-broken-irq-remapping-warning.patch
#rhbz 998732
ApplyPatch vfio-iommu-Fixed-interaction-of-VFIO_IOMMU_MAP_DMA.patch
-#rhbz 896695
-ApplyPatch 0002-iwlwifi-don-t-WARN-on-bad-firmware-state.patch
-
#rhbz 993744
ApplyPatch dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch
@@ -1437,9 +1422,6 @@ ApplyPatch cpupower-Fix-segfault-due-to-incorrect-getopt_long-a.patch
#rhbz 1011714
ApplyPatch btrfs-relocate-csums-properly-with-prealloc-ext.patch
-#rhbz 984696
-ApplyPatch rt2800usb-slow-down-TX-status-polling.patch
-
ApplyPatch drm-qxl-backport-fixes-for-Fedora.patch
ApplyPatch Input-evdev-fall-back-to-vmalloc-for-client-event-buffer.patch
@@ -2251,6 +2233,9 @@ fi
# ||----w |
# || ||
%changelog
+* Wed Nov 13 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.13.0-0.rc0.git3.1
+- Linux v3.12-7033-g42a2d92
+
* Wed Nov 13 2013 Josh Boyer <jwboyer@fedoraproject.org>
- Add patch to fix imx-drm build issues
diff --git a/rt2800-add-support-for-rf3070.patch b/rt2800-add-support-for-rf3070.patch
deleted file mode 100644
index a07037862..000000000
--- a/rt2800-add-support-for-rf3070.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-Add support for new RF chip ID: 3070. It seems to be the same as 5370,
-maybe vendor just put wrong value on the eeprom, but add this id anyway
-since devices with it showed on the marked.
-
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
-
-diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
-index fa33b5e..e3eb952 100644
---- a/drivers/net/wireless/rt2x00/rt2800.h
-+++ b/drivers/net/wireless/rt2x00/rt2800.h
-@@ -52,6 +52,7 @@
- * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392)
- * RF3053 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662)
- * RF5592 2.4G/5G 2T2R
-+ * RF3070 2.4G 1T1R
- * RF5360 2.4G 1T1R
- * RF5370 2.4G 1T1R
- * RF5390 2.4G 1T1R
-@@ -70,6 +71,7 @@
- #define RF3322 0x000c
- #define RF3053 0x000d
- #define RF5592 0x000f
-+#define RF3070 0x3070
- #define RF3290 0x3290
- #define RF5360 0x5360
- #define RF5370 0x5370
-diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
-index 88ce656..d2f638f 100644
---- a/drivers/net/wireless/rt2x00/rt2800lib.c
-+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
-@@ -3152,6 +3152,7 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
- case RF3322:
- rt2800_config_channel_rf3322(rt2x00dev, conf, rf, info);
- break;
-+ case RF3070:
- case RF5360:
- case RF5370:
- case RF5372:
-@@ -3166,7 +3167,8 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
- rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info);
- }
-
-- if (rt2x00_rf(rt2x00dev, RF3290) ||
-+ if (rt2x00_rf(rt2x00dev, RF3070) ||
-+ rt2x00_rf(rt2x00dev, RF3290) ||
- rt2x00_rf(rt2x00dev, RF3322) ||
- rt2x00_rf(rt2x00dev, RF5360) ||
- rt2x00_rf(rt2x00dev, RF5370) ||
-@@ -4264,6 +4266,7 @@ void rt2800_vco_calibration(struct rt2x00_dev *rt2x00dev)
- rt2800_rfcsr_write(rt2x00dev, 7, rfcsr);
- break;
- case RF3053:
-+ case RF3070:
- case RF3290:
- case RF5360:
- case RF5370:
-@@ -7021,6 +7024,7 @@ static int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
- case RF3022:
- case RF3052:
- case RF3053:
-+ case RF3070:
- case RF3290:
- case RF3320:
- case RF3322:
-@@ -7543,6 +7547,7 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
- rt2x00_rf(rt2x00dev, RF2020) ||
- rt2x00_rf(rt2x00dev, RF3021) ||
- rt2x00_rf(rt2x00dev, RF3022) ||
-+ rt2x00_rf(rt2x00dev, RF3070) ||
- rt2x00_rf(rt2x00dev, RF3290) ||
- rt2x00_rf(rt2x00dev, RF3320) ||
- rt2x00_rf(rt2x00dev, RF3322) ||
-@@ -7671,6 +7676,7 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
- case RF3320:
- case RF3052:
- case RF3053:
-+ case RF3070:
- case RF3290:
- case RF5360:
- case RF5370:
---
-To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file
diff --git a/rt2800usb-slow-down-TX-status-polling.patch b/rt2800usb-slow-down-TX-status-polling.patch
deleted file mode 100644
index a76f9b847..000000000
--- a/rt2800usb-slow-down-TX-status-polling.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Polling TX statuses too frequently has two negative effects. First is
-randomly peek CPU usage, causing overall system functioning delays.
-Second bad effect is that device is not able to fill TX statuses in
-H/W register on some workloads and we get lot of timeouts like below:
-
-ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
-ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
-ieee80211 phy4: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
-
-This not only cause flood of messages in dmesg, but also bad throughput,
-since rate scaling algorithm can not work optimally.
-
-In the future, we should probably make polling interval be adjusted
-automatically, but for now just increase values, this make mentioned
-problems gone.
-
-Resolve:
-https://bugzilla.kernel.org/show_bug.cgi?id=62781
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- drivers/net/wireless/rt2x00/rt2800usb.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
-index 96677ce5..e095e61 100644
---- a/drivers/net/wireless/rt2x00/rt2800usb.c
-+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
-@@ -176,8 +176,8 @@ static bool rt2800usb_tx_sta_fifo_read_completed(struct rt2x00_dev *rt2x00dev,
- queue_work(rt2x00dev->workqueue, &rt2x00dev->txdone_work);
-
- if (rt2800usb_txstatus_pending(rt2x00dev)) {
-- /* Read register after 250 us */
-- hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 250000),
-+ /* Read register after 1 ms */
-+ hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 1000000),
- HRTIMER_MODE_REL);
- return false;
- }
-@@ -202,8 +202,8 @@ static void rt2800usb_async_read_tx_status(struct rt2x00_dev *rt2x00dev)
- if (test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags))
- return;
-
-- /* Read TX_STA_FIFO register after 500 us */
-- hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 500000),
-+ /* Read TX_STA_FIFO register after 2 ms */
-+ hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 2000000),
- HRTIMER_MODE_REL);
- }
-
---
-1.8.3.1
diff --git a/sources b/sources
index fd4184c50..ac798dda7 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,2 @@
cc6ee608854e0da4b64f6c1ff8b6398c linux-3.12.tar.xz
-47eda935b7156e21ef3d424ba8797863 patch-3.12-git1.xz
-6de5ff06cc215c8aba4f411d397e4b47 patch-3.12-git2.xz
+13fe2af0b5a290661d20e121cf9fe530 patch-3.12-git3.xz