From: Greg Kroah-Hartman Date: Mon, 24 May 2010 22:01:33 +0000 (-0700) Subject: .33 patches X-Git-Tag: v2.6.27.47~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8553a36719334f3a51f1d13b7dfce74427c4522d;p=thirdparty%2Fkernel%2Fstable-queue.git .33 patches --- diff --git a/queue-2.6.33/cachefiles-fix-error-handling-in-cachefiles_determine_cache_security.patch b/queue-2.6.33/cachefiles-fix-error-handling-in-cachefiles_determine_cache_security.patch new file mode 100644 index 00000000000..b04863c3cc3 --- /dev/null +++ b/queue-2.6.33/cachefiles-fix-error-handling-in-cachefiles_determine_cache_security.patch @@ -0,0 +1,45 @@ +From 7ac512aa8237c43331ffaf77a4fd8b8d684819ba Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Wed, 12 May 2010 15:34:03 +0100 +Subject: CacheFiles: Fix error handling in cachefiles_determine_cache_security() + +From: David Howells + +commit 7ac512aa8237c43331ffaf77a4fd8b8d684819ba upstream. + +cachefiles_determine_cache_security() is expected to return with a +security override in place. However, if set_create_files_as() fails, we +fail to do this. In this case, we should just reinstate the security +override that was set by the caller. + +Furthermore, if set_create_files_as() fails, we should dispose of the +new credentials we were in the process of creating. + +Signed-off-by: David Howells +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/cachefiles/security.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/fs/cachefiles/security.c ++++ b/fs/cachefiles/security.c +@@ -77,6 +77,8 @@ static int cachefiles_check_cache_dir(st + /* + * check the security details of the on-disk cache + * - must be called with security override in force ++ * - must return with a security override in force - even in the case of an ++ * error + */ + int cachefiles_determine_cache_security(struct cachefiles_cache *cache, + struct dentry *root, +@@ -99,6 +101,8 @@ int cachefiles_determine_cache_security( + * which create files */ + ret = set_create_files_as(new, root->d_inode); + if (ret < 0) { ++ abort_creds(new); ++ cachefiles_begin_secure(cache, _saved_cred); + _leave(" = %d [cfa]", ret); + return ret; + } diff --git a/queue-2.6.33/crypto-authenc-add-einprogress-check.patch b/queue-2.6.33/crypto-authenc-add-einprogress-check.patch new file mode 100644 index 00000000000..536655aba94 --- /dev/null +++ b/queue-2.6.33/crypto-authenc-add-einprogress-check.patch @@ -0,0 +1,88 @@ +From 180ce7e81030e1ef763d58f97f9ab840ff57d848 Mon Sep 17 00:00:00 2001 +From: Herbert Xu +Date: Mon, 26 Apr 2010 09:14:05 +0800 +Subject: crypto: authenc - Add EINPROGRESS check + +From: Herbert Xu + +commit 180ce7e81030e1ef763d58f97f9ab840ff57d848 upstream. + +When Steffen originally wrote the authenc async hash patch, he +correctly had EINPROGRESS checks in place so that we did not invoke +the original completion handler with it. + +Unfortuantely I told him to remove it before the patch was applied. + +As only MAY_BACKLOG request completion handlers are required to +handle EINPROGRESS completions, those checks are really needed. + +This patch restores them. + +Reported-by: Sebastian Andrzej Siewior +Signed-off-by: Herbert Xu +Signed-off-by: Greg Kroah-Hartman + +--- + crypto/authenc.c | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +--- a/crypto/authenc.c ++++ b/crypto/authenc.c +@@ -46,6 +46,12 @@ struct authenc_request_ctx { + char tail[]; + }; + ++static void authenc_request_complete(struct aead_request *req, int err) ++{ ++ if (err != -EINPROGRESS) ++ aead_request_complete(req, err); ++} ++ + static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key, + unsigned int keylen) + { +@@ -142,7 +148,7 @@ static void authenc_geniv_ahash_update_d + crypto_aead_authsize(authenc), 1); + + out: +- aead_request_complete(req, err); ++ authenc_request_complete(req, err); + } + + static void authenc_geniv_ahash_done(struct crypto_async_request *areq, int err) +@@ -208,7 +214,7 @@ static void authenc_verify_ahash_update_ + err = crypto_ablkcipher_decrypt(abreq); + + out: +- aead_request_complete(req, err); ++ authenc_request_complete(req, err); + } + + static void authenc_verify_ahash_done(struct crypto_async_request *areq, +@@ -245,7 +251,7 @@ static void authenc_verify_ahash_done(st + err = crypto_ablkcipher_decrypt(abreq); + + out: +- aead_request_complete(req, err); ++ authenc_request_complete(req, err); + } + + static u8 *crypto_authenc_ahash_fb(struct aead_request *req, unsigned int flags) +@@ -379,7 +385,7 @@ static void crypto_authenc_encrypt_done( + err = crypto_authenc_genicv(areq, iv, 0); + } + +- aead_request_complete(areq, err); ++ authenc_request_complete(areq, err); + } + + static int crypto_authenc_encrypt(struct aead_request *req) +@@ -418,7 +424,7 @@ static void crypto_authenc_givencrypt_do + err = crypto_authenc_genicv(areq, greq->giv, 0); + } + +- aead_request_complete(areq, err); ++ authenc_request_complete(areq, err); + } + + static int crypto_authenc_givencrypt(struct aead_givcrypt_request *req) diff --git a/queue-2.6.33/iwlwifi-check-for-aggregation-frame-and-queue.patch b/queue-2.6.33/iwlwifi-check-for-aggregation-frame-and-queue.patch new file mode 100644 index 00000000000..32a5b8535d3 --- /dev/null +++ b/queue-2.6.33/iwlwifi-check-for-aggregation-frame-and-queue.patch @@ -0,0 +1,96 @@ +From 45d427001b5eec03cecaacddb53c73af46bb263e Mon Sep 17 00:00:00 2001 +From: Wey-Yi Guy +Date: Wed, 3 Feb 2010 12:24:44 -0800 +Subject: iwlwifi: check for aggregation frame and queue + +From: Wey-Yi Guy + +commit 45d427001b5eec03cecaacddb53c73af46bb263e upstream. + +Error checking for aggregation frames should go into aggregation queue, +if aggregation queue not available, use legacy queue instead. +Also make sure the aggregation queue is available to activate, +if driver and mac80211 is out-of-sync, try to disable the queue and +sync-up with mac80211. + +Signed-off-by: Wey-Yi Guy +Signed-off-by: Reinette Chatre +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 15 ++++++++++++++- + drivers/net/wireless/iwlwifi/iwl-tx.c | 18 ++++++++++++------ + 2 files changed, 26 insertions(+), 7 deletions(-) + +--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c ++++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +@@ -298,10 +298,23 @@ static void rs_tl_turn_on_agg_for_tid(st + struct iwl_lq_sta *lq_data, u8 tid, + struct ieee80211_sta *sta) + { ++ int ret; ++ + if (rs_tl_get_load(lq_data, tid) > IWL_AGG_LOAD_THRESHOLD) { + IWL_DEBUG_HT(priv, "Starting Tx agg: STA: %pM tid: %d\n", + sta->addr, tid); +- ieee80211_start_tx_ba_session(sta, tid); ++ ret = ieee80211_start_tx_ba_session(sta, tid); ++ if (ret == -EAGAIN) { ++ /* ++ * driver and mac80211 is out of sync ++ * this might be cause by reloading firmware ++ * stop the tx ba session here ++ */ ++ IWL_DEBUG_HT(priv, "Fail start Tx agg on tid: %d\n", ++ tid); ++ ret = ieee80211_stop_tx_ba_session(sta, tid, ++ WLAN_BACK_INITIATOR); ++ } + } + } + +--- a/drivers/net/wireless/iwlwifi/iwl-tx.c ++++ b/drivers/net/wireless/iwlwifi/iwl-tx.c +@@ -821,8 +821,10 @@ int iwl_tx_skb(struct iwl_priv *priv, st + hdr->seq_ctrl |= cpu_to_le16(seq_number); + seq_number += 0x10; + /* aggregation is on for this */ +- if (info->flags & IEEE80211_TX_CTL_AMPDU) ++ if (info->flags & IEEE80211_TX_CTL_AMPDU && ++ priv->stations[sta_id].tid[tid].agg.state == IWL_AGG_ON) { + txq_id = priv->stations[sta_id].tid[tid].agg.txq_id; ++ } + } + + txq = &priv->txq[txq_id]; +@@ -1347,7 +1349,7 @@ int iwl_tx_agg_stop(struct iwl_priv *pri + { + int tx_fifo_id, txq_id, sta_id, ssn = -1; + struct iwl_tid_data *tid_data; +- int ret, write_ptr, read_ptr; ++ int write_ptr, read_ptr; + unsigned long flags; + + if (!ra) { +@@ -1399,13 +1401,17 @@ int iwl_tx_agg_stop(struct iwl_priv *pri + priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF; + + spin_lock_irqsave(&priv->lock, flags); +- ret = priv->cfg->ops->lib->txq_agg_disable(priv, txq_id, ssn, ++ /* ++ * the only reason this call can fail is queue number out of range, ++ * which can happen if uCode is reloaded and all the station ++ * information are lost. if it is outside the range, there is no need ++ * to deactivate the uCode queue, just return "success" to allow ++ * mac80211 to clean up it own data. ++ */ ++ priv->cfg->ops->lib->txq_agg_disable(priv, txq_id, ssn, + tx_fifo_id); + spin_unlock_irqrestore(&priv->lock, flags); + +- if (ret) +- return ret; +- + ieee80211_stop_tx_ba_cb_irqsafe(priv->vif, ra, tid); + + return 0; diff --git a/queue-2.6.33/iwlwifi-clear-all-the-stop_queue-flag-after-load-firmware.patch b/queue-2.6.33/iwlwifi-clear-all-the-stop_queue-flag-after-load-firmware.patch new file mode 100644 index 00000000000..16aa620e34f --- /dev/null +++ b/queue-2.6.33/iwlwifi-clear-all-the-stop_queue-flag-after-load-firmware.patch @@ -0,0 +1,52 @@ +From a9e10fb9b1c6ad16e73cf2656951fce3a817611e Mon Sep 17 00:00:00 2001 +From: Wey-Yi Guy +Date: Tue, 9 Feb 2010 08:14:11 -0800 +Subject: iwlwifi: clear all the stop_queue flag after load firmware + +From: Wey-Yi Guy + +commit a9e10fb9b1c6ad16e73cf2656951fce3a817611e upstream. + +All the queues are awake and ready to use after loading firmware, +for firmware reload case, if any queues was stopped before +reload, mac80211 will wake those queues after restart hardware, so make +sure all the flag used to keep track of the queue status are +reset correctly. + +Signed-off-by: Wey-Yi Guy +Signed-off-by: Reinette Chatre +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/iwlwifi/iwl-4965.c | 5 +++++ + drivers/net/wireless/iwlwifi/iwl-5000.c | 5 +++++ + 2 files changed, 10 insertions(+) + +--- a/drivers/net/wireless/iwlwifi/iwl-4965.c ++++ b/drivers/net/wireless/iwlwifi/iwl-4965.c +@@ -581,6 +581,11 @@ static int iwl4965_alive_notify(struct i + + iwl4965_set_wr_ptrs(priv, IWL_CMD_QUEUE_NUM, 0); + ++ /* make sure all queue are not stopped */ ++ memset(&priv->queue_stopped[0], 0, sizeof(priv->queue_stopped)); ++ for (i = 0; i < 4; i++) ++ atomic_set(&priv->queue_stop_count[i], 0); ++ + /* reset to 0 to enable all the queue first */ + priv->txq_ctx_active_msk = 0; + /* Map each Tx/cmd queue to its corresponding fifo */ +--- a/drivers/net/wireless/iwlwifi/iwl-5000.c ++++ b/drivers/net/wireless/iwlwifi/iwl-5000.c +@@ -657,6 +657,11 @@ int iwl5000_alive_notify(struct iwl_priv + + iwl5000_set_wr_ptrs(priv, IWL_CMD_QUEUE_NUM, 0); + ++ /* make sure all queue are not stopped */ ++ memset(&priv->queue_stopped[0], 0, sizeof(priv->queue_stopped)); ++ for (i = 0; i < 4; i++) ++ atomic_set(&priv->queue_stop_count[i], 0); ++ + /* reset to 0 to enable all the queue first */ + priv->txq_ctx_active_msk = 0; + /* map qos queues to fifos one-to-one */ diff --git a/queue-2.6.33/mmap_min_addr-check-cap_sys_rawio-only-for-write.patch b/queue-2.6.33/mmap_min_addr-check-cap_sys_rawio-only-for-write.patch new file mode 100644 index 00000000000..2a753956ec3 --- /dev/null +++ b/queue-2.6.33/mmap_min_addr-check-cap_sys_rawio-only-for-write.patch @@ -0,0 +1,47 @@ +From 4ae69e6b718589abe97c9625ccbb1e0bc95a8c0e Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Thu, 22 Apr 2010 12:19:17 -0700 +Subject: mmap_min_addr check CAP_SYS_RAWIO only for write + +From: Kees Cook + +commit 4ae69e6b718589abe97c9625ccbb1e0bc95a8c0e upstream. + +Redirecting directly to lsm, here's the patch discussed on lkml: +http://lkml.org/lkml/2010/4/22/219 + +The mmap_min_addr value is useful information for an admin to see without +being root ("is my system vulnerable to kernel NULL pointer attacks?") and +its setting is trivially easy for an attacker to determine by calling +mmap() in PAGE_SIZE increments starting at 0, so trying to keep it private +has no value. + +Only require CAP_SYS_RAWIO if changing the value, not reading it. + +Comment from Serge : + + Me, I like to write my passwords with light blue pen on dark blue + paper, pasted on my window - if you're going to get my password, you're + gonna get a headache. + +Signed-off-by: Kees Cook +Acked-by: Serge Hallyn +Signed-off-by: James Morris +(cherry picked from commit 822cceec7248013821d655545ea45d1c6a9d15b3) +Signed-off-by: Greg Kroah-Hartman + +--- + security/min_addr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/security/min_addr.c ++++ b/security/min_addr.c +@@ -33,7 +33,7 @@ int mmap_min_addr_handler(struct ctl_tab + { + int ret; + +- if (!capable(CAP_SYS_RAWIO)) ++ if (write && !capable(CAP_SYS_RAWIO)) + return -EPERM; + + ret = proc_doulongvec_minmax(table, write, buffer, lenp, ppos); diff --git a/queue-2.6.33/nilfs2-fix-sync-silent-failure.patch b/queue-2.6.33/nilfs2-fix-sync-silent-failure.patch new file mode 100644 index 00000000000..a4e212adf29 --- /dev/null +++ b/queue-2.6.33/nilfs2-fix-sync-silent-failure.patch @@ -0,0 +1,51 @@ +From 973bec34bfc1bc2465646181653d67f767d418c8 Mon Sep 17 00:00:00 2001 +From: Ryusuke Konishi +Date: Mon, 3 May 2010 21:00:48 +0900 +Subject: nilfs2: fix sync silent failure + +From: Ryusuke Konishi + +commit 973bec34bfc1bc2465646181653d67f767d418c8 upstream. + +As of 32a88aa1, __sync_filesystem() will return 0 if s_bdi is not set. +And nilfs does not set s_bdi anywhere. I noticed this problem by the +warning introduced by the recent commit 5129a469 ("Catch filesystem +lacking s_bdi"). + + WARNING: at fs/super.c:959 vfs_kern_mount+0xc5/0x14e() + Hardware name: PowerEdge 2850 + Modules linked in: nilfs2 loop tpm_tis tpm tpm_bios video shpchp pci_hotplug output dcdbas + Pid: 3773, comm: mount.nilfs2 Not tainted 2.6.34-rc6-debug #38 + Call Trace: + [] warn_slowpath_common+0x60/0x90 + [] warn_slowpath_null+0xd/0x10 + [] vfs_kern_mount+0xc5/0x14e + [] do_kern_mount+0x32/0xbd + [] do_mount+0x671/0x6d0 + [] ? __get_free_pages+0x1f/0x21 + [] ? copy_mount_options+0x2b/0xe2 + [] ? strndup_user+0x48/0x67 + [] sys_mount+0x61/0x8f + [] sysenter_do_call+0x12/0x32 + +This ensures to set s_bdi for nilfs and fixes the sync silent failure. + +Signed-off-by: Ryusuke Konishi +Acked-by: Jens Axboe +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/nilfs2/super.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/fs/nilfs2/super.c ++++ b/fs/nilfs2/super.c +@@ -746,6 +746,7 @@ nilfs_fill_super(struct super_block *sb, + sb->s_export_op = &nilfs_export_ops; + sb->s_root = NULL; + sb->s_time_gran = 1; ++ sb->s_bdi = nilfs->ns_bdi; + + err = load_nilfs(nilfs, sbi); + if (err) diff --git a/queue-2.6.33/revert-ath9k-fix-lockdep-warning-when-unloading-module-on-stable-kernels.patch b/queue-2.6.33/revert-ath9k-fix-lockdep-warning-when-unloading-module-on-stable-kernels.patch new file mode 100644 index 00000000000..0f1071100f4 --- /dev/null +++ b/queue-2.6.33/revert-ath9k-fix-lockdep-warning-when-unloading-module-on-stable-kernels.patch @@ -0,0 +1,145 @@ +From lrodriguez@atheros.com Mon May 24 14:51:15 2010 +From: "Luis R. Rodriguez" +Date: Wed, 19 May 2010 17:33:49 -0400 +Subject: Revert "ath9k: fix lockdep warning when unloading module" on stable kernels +To: greg@kroah.com, stable@kernel.org +Cc: "Luis R. Rodriguez" , Ming Lei , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, "John W. Linville" , Johannes Berg +Message-ID: <1274304829-14367-1-git-send-email-lrodriguez@atheros.com> + + +Johannes' patch 34e8950 titled: + + mac80211: allow station add/remove to sleep + +changed the way mac80211 adds and removes peers. The new +sta_add() / sta_remove() callbacks allowed the driver callbacks +to sleep. Johannes also ported ath9k to use sta_add() / sta_remove() +via the patch 4ca7786 titled: + + ath9k: convert to new station add/remove callbacks + +but this patch forgot to address a change in locking issue which +Ming Lei eventually found on his 2.6.33-wl #12 build. The 2.6.33-wl +build includes code for the 802.11 subsystem for 2.6.34 though so did +already have the above two patches (ath9k_sta_remove() on his trace), +the 2.6.33 kernel did not however have these two patches. Ming eventually +cured his lockdep warnign via the patch a9f042c titled: + + ath9k: fix lockdep warning when unloading module + +This went in to 2.6.34 and although it was not marked as a stable +fix it did get trickled down and applied on both 2.6.33 and 2.6.32. + +In review, the culprits: + + mac80211: allow station add/remove to sleep +git describe --contains 34e895075e21be3e21e71d6317440d1ee7969ad0 +v2.6.34-rc1~233^2~49^2~107 + + ath9k: convert to new station add/remove callbacks +git describe --contains 4ca778605cfec53d8a689f0b57babb93b030c784 +v2.6.34-rc1~233^2~49^2~10 + + ath9k: fix lockdep warning when unloading module + +This last one trickled down to 2.6.33 (OK), 2.6.33 (invalid) and 2.6.32 (invalid). + +git describe --contains a9f042cbe5284f34ccff15f3084477e11b39b17b +v2.6.34-rc2~48^2~77^2~7 +git describe --contains 0524bcfa80f1fffb4e1fe18a0a28900869a58a7c +v2.6.33.2~125 +git describe --contains 0dcc9985f34aef3c60bffab3dfc7f7ba3748f35a +v2.6.32.11~79 + +The patch titled "ath9k: fix lockdep warning when unloading module" +should be reverted on both 2.6.33 and 2.6.32 as it is invalid and +actually ended up causing the following warning: + +ADDRCONF(NETDEV_CHANGE): wlan31: link becomes ready +phy0: WMM queue=2 aci=0 acm=0 aifs=3 cWmin=15 cWmax=1023 txop=0 +phy0: WMM queue=3 aci=1 acm=0 aifs=7 cWmin=15 cWmax=1023 txop=0 +phy0: WMM queue=1 aci=2 acm=0 aifs=2 cWmin=7 cWmax=15 txop=94 +phy0: WMM queue=0 aci=3 acm=0 aifs=2 cWmin=3 cWmax=7 txop=47 +phy0: device now idle +------------[ cut here ]------------ +WARNING: at kernel/softirq.c:143 local_bh_enable_ip+0x7b/0xa0() +Hardware name: 7660A14 +Modules linked in: ath9k(-) mac80211 ath cfg80211 +Pid: 2003, comm: rmmod Not tainted 2.6.32.11 #6 +Call Trace: + [] warn_slowpath_common+0x78/0xb0 + [] warn_slowpath_null+0xf/0x20 + [] local_bh_enable_ip+0x7b/0xa0 + [] _spin_unlock_bh+0x14/0x20 + [] ath_tx_node_cleanup+0x185/0x1b0 [ath9k] + [] ath9k_sta_notify+0x57/0xb0 [ath9k] + [] __sta_info_unlink+0x15a/0x260 [mac80211] + [] sta_info_unlink+0x38/0x60 [mac80211] + [] ieee80211_set_disassoc+0x1ae/0x210 [mac80211] + [] ieee80211_mgd_deauth+0x109/0x110 [mac80211] + [] ieee80211_deauth+0x19/0x20 [mac80211] + [] __cfg80211_mlme_deauth+0xee/0x130 [cfg80211] + [] ? init_object+0x50/0x90 + [] __cfg80211_disconnect+0x159/0x1d0 [cfg80211] + [] cfg80211_netdev_notifier_call+0x10f/0x450 [cfg80211] + [] notifier_call_chain+0x47/0x90 + [] raw_notifier_call_chain+0x11/0x20 + [] call_netdevice_notifiers+0x16/0x20 + [] dev_close+0x4d/0xa0 + [] rollback_registered+0x48/0x120 + [] unregister_netdevice+0x1d/0x70 + [] ieee80211_remove_interfaces+0x84/0xc0 [mac80211] + [] ieee80211_unregister_hw+0x42/0xf0 [mac80211] + [] ath_detach+0x8e/0x180 [ath9k] + [] ath_cleanup+0x11/0x50 [ath9k] + [] ath_pci_remove+0x1c/0x20 [ath9k] + [] pci_device_remove+0x32/0x60 + [] __device_release_driver+0x53/0xb0 + [] driver_detach+0xc8/0xd0 + [] bus_remove_driver+0x85/0xe0 + [] driver_unregister+0x5a/0x90 + [] pci_unregister_driver+0x40/0xb0 + [] ath_pci_exit+0x10/0x20 [ath9k] + [] ath9k_exit+0x9/0x2a [ath9k] + [] sys_delete_module+0x1a8/0x270 + [] ? up_read+0x9/0x10 + [] system_call_fastpath+0x16/0x1b +---[ end trace fad957019ffdd40b ]--- +phy0: Removed STA 00:22:6b:56:fd:e8 +phy0: Destroyed STA 00:22:6b:56:fd:e8 +wlan31: deauthenticating from 00:22:6b:56:fd:e8 by local choice (reason=3) +ath9k 0000:16:00.0: PCI INT A disabled + +The original lockdep fixed an issue where due to the new changes +the driver was not disabling the bottom halves but it is incorrect +to do this on the older kernels since IRQs are already disabled. + +Cc: Ming Lei +Cc: Johannes Berg +Cc: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/ath/ath9k/xmit.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/wireless/ath/ath9k/xmit.c ++++ b/drivers/net/wireless/ath/ath9k/xmit.c +@@ -2244,7 +2244,7 @@ void ath_tx_node_cleanup(struct ath_soft + if (ATH_TXQ_SETUP(sc, i)) { + txq = &sc->tx.txq[i]; + +- spin_lock_bh(&txq->axq_lock); ++ spin_lock(&txq->axq_lock); + + list_for_each_entry_safe(ac, + ac_tmp, &txq->axq_acq, list) { +@@ -2265,7 +2265,7 @@ void ath_tx_node_cleanup(struct ath_soft + } + } + +- spin_unlock_bh(&txq->axq_lock); ++ spin_unlock(&txq->axq_lock); + } + } + } diff --git a/queue-2.6.33/series b/queue-2.6.33/series index 8476d1be4ec..374a119056d 100644 --- a/queue-2.6.33/series +++ b/queue-2.6.33/series @@ -30,3 +30,10 @@ x86-amd-check-x86_feature_osvw-bit-before-accessing-osvw-msrs.patch btrfs-check-for-read-permission-on-src-file-in-the-clone-ioctl.patch alsa-hda-new-intel-hda-controller.patch drm-i915-disable-fbc-on-915gm-and-945gm.patch +iwlwifi-check-for-aggregation-frame-and-queue.patch +iwlwifi-clear-all-the-stop_queue-flag-after-load-firmware.patch +cachefiles-fix-error-handling-in-cachefiles_determine_cache_security.patch +mmap_min_addr-check-cap_sys_rawio-only-for-write.patch +nilfs2-fix-sync-silent-failure.patch +revert-ath9k-fix-lockdep-warning-when-unloading-module-on-stable-kernels.patch +crypto-authenc-add-einprogress-check.patch