* Re: [REVERT] be6b38bcb175613f239e0b302607db346472c6b6. v2.6.34-rc3-406 oops with 4965AGN wireless [not found] <Pine.LNX.4.64.1004090251210.11582@boston.corp.fedex.com> @ 2010-04-08 20:19 ` John W. Linville 2010-04-08 20:39 ` John W. Linville [not found] ` <Pine.LNX.4.64.1004090336410.22139@boston.corp.fedex.com> 1 sibling, 1 reply; 4+ messages in thread From: John W. Linville @ 2010-04-08 20:19 UTC (permalink / raw) To: Jeff Chua Cc: Wey-Yi Guy, Shanyu Zhao, Reinette Chatre, stable, Linux Kernel, Linus Torvalds, Al Viro, linux-wireless On Fri, Apr 09, 2010 at 03:27:53AM +0800, Jeff Chua wrote: > Wey, the patch doesn't apply cleanly. I believe you meant "iwl_" instead > of "iwlagn_". He based his patch on wireless-testing (or something similar), where iwlagn_ is the proper prefix for the functions in question. John P.S. Cc'ing linux-wireless... P.P.S. You might try this version of his later patch... >From ece6444c2fe80dab679beb5f0d58b091f1933b00 Mon Sep 17 00:00:00 2001 From: Wey-Yi Guy <wey-yi.w.guy@intel.com> Date: Thu, 8 Apr 2010 13:17:37 -0700 Subject: [PATCH] iwlwifi: need check for valid qos packet before free For 4965, need to check it is valid qos frame before free, only valid QoS frame has the tid used to free the packets. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> --- drivers/net/wireless/iwlwifi/iwl-4965.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 83c52a6..8972166 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c @@ -2015,7 +2015,9 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv, IWL_DEBUG_TX_REPLY(priv, "Retry scheduler reclaim scd_ssn " "%d index %d\n", scd_ssn , index); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + if (qc) + iwl_free_tfds_in_queue(priv, sta_id, + tid, freed); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark) && @@ -2041,14 +2043,17 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv, tx_resp->failure_frame); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + if (qc && likely(sta_id != IWL_INVALID_STATION)) + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + else if (sta_id == IWL_INVALID_STATION) + IWL_DEBUG_TX_REPLY(priv, "Station not known\n"); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark)) iwl_wake_queue(priv, txq_id); } - - iwl_txq_check_empty(priv, sta_id, tid, txq_id); + if (qc && likely(sta_id != IWL_INVALID_STATION)) + iwl_txq_check_empty(priv, sta_id, tid, txq_id); if (iwl_check_bits(status, TX_ABORT_REQUIRED_MSK)) IWL_ERR(priv, "TODO: Implement Tx ABORT REQUIRED!!!\n"); -- 1.6.2.5 -- John W. Linville Someday the world will need a hero, and you linville@tuxdriver.com might be all we have. Be ready. ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [REVERT] be6b38bcb175613f239e0b302607db346472c6b6. v2.6.34-rc3-406 oops with 4965AGN wireless 2010-04-08 20:19 ` [REVERT] be6b38bcb175613f239e0b302607db346472c6b6. v2.6.34-rc3-406 oops with 4965AGN wireless John W. Linville @ 2010-04-08 20:39 ` John W. Linville 0 siblings, 0 replies; 4+ messages in thread From: John W. Linville @ 2010-04-08 20:39 UTC (permalink / raw) To: Jeff Chua Cc: Wey-Yi Guy, Shanyu Zhao, Reinette Chatre, stable, Linux Kernel, Linus Torvalds, Al Viro, linux-wireless On Thu, Apr 08, 2010 at 04:19:53PM -0400, John W. Linville wrote: > On Fri, Apr 09, 2010 at 03:27:53AM +0800, Jeff Chua wrote: > > > Wey, the patch doesn't apply cleanly. I believe you meant "iwl_" instead > > of "iwlagn_". > > He based his patch on wireless-testing (or something similar), where > iwlagn_ is the proper prefix for the functions in question. "She based her patch..." -- my apologies! John -- John W. Linville Someday the world will need a hero, and you linville@tuxdriver.com might be all we have. Be ready. ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <Pine.LNX.4.64.1004090336410.22139@boston.corp.fedex.com>]
[parent not found: <1270759800.19330.19.camel@wwguy-ubuntu>]
[parent not found: <20100408200218.GC2999@tuxdriver.com>]
[parent not found: <1270762107.20845.3.camel@wwguy-ubuntu>]
* pull request: wireless-2.6 2010-04-09 [not found] ` <1270762107.20845.3.camel@wwguy-ubuntu> @ 2010-04-09 15:38 ` John W. Linville 2010-04-09 17:03 ` David Miller 0 siblings, 1 reply; 4+ messages in thread From: John W. Linville @ 2010-04-09 15:38 UTC (permalink / raw) To: davem Cc: Jeff Chua, Zhao, Shanyu, Chatre, Reinette, stable@kernel.org, Linux Kernel, Linus Torvalds, Al Viro, Guy, Wey-Yi, linux-wireless, netdev Dave, This fix is intended for 2.6.34. It resolves an issue involving an Oops on boxes w/ iwl4965 hardware, apparently introduced by another recent patch. The thread describing the issue and the resolution is here: http://marc.info/?l=linux-kernel&m=127074721531649&w=2 In order to avoid reverting that patch, please accept this fix instead. As usual, please let me know if there are problems! Thanks, John --- The following changes since commit 2626419ad5be1a054d350786b684b41d23de1538: David S. Miller (1): tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master Wey-Yi Guy (1): iwlwifi: need check for valid qos packet before free drivers/net/wireless/iwlwifi/iwl-4965.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 83c52a6..8972166 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c @@ -2015,7 +2015,9 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv, IWL_DEBUG_TX_REPLY(priv, "Retry scheduler reclaim scd_ssn " "%d index %d\n", scd_ssn , index); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + if (qc) + iwl_free_tfds_in_queue(priv, sta_id, + tid, freed); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark) && @@ -2041,14 +2043,17 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv, tx_resp->failure_frame); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + if (qc && likely(sta_id != IWL_INVALID_STATION)) + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + else if (sta_id == IWL_INVALID_STATION) + IWL_DEBUG_TX_REPLY(priv, "Station not known\n"); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark)) iwl_wake_queue(priv, txq_id); } - - iwl_txq_check_empty(priv, sta_id, tid, txq_id); + if (qc && likely(sta_id != IWL_INVALID_STATION)) + iwl_txq_check_empty(priv, sta_id, tid, txq_id); if (iwl_check_bits(status, TX_ABORT_REQUIRED_MSK)) IWL_ERR(priv, "TODO: Implement Tx ABORT REQUIRED!!!\n"); -- John W. Linville Someday the world will need a hero, and you linville@tuxdriver.com might be all we have. Be ready. ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: pull request: wireless-2.6 2010-04-09 2010-04-09 15:38 ` pull request: wireless-2.6 2010-04-09 John W. Linville @ 2010-04-09 17:03 ` David Miller 0 siblings, 0 replies; 4+ messages in thread From: David Miller @ 2010-04-09 17:03 UTC (permalink / raw) To: linville Cc: jeff.chua.linux, shanyu.zhao, reinette.chatre, stable, linux-kernel, torvalds, viro, wey-yi.w.guy, linux-wireless, netdev From: "John W. Linville" <linville@tuxdriver.com> Date: Fri, 9 Apr 2010 11:38:07 -0400 > This fix is intended for 2.6.34. It resolves an issue involving an > Oops on boxes w/ iwl4965 hardware, apparently introduced by another > recent patch. The thread describing the issue and the resolution > is here: > > http://marc.info/?l=linux-kernel&m=127074721531649&w=2 > > In order to avoid reverting that patch, please accept this fix instead. > As usual, please let me know if there are problems! Pulled, thanks John. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-04-09 17:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.64.1004090251210.11582@boston.corp.fedex.com>
2010-04-08 20:19 ` [REVERT] be6b38bcb175613f239e0b302607db346472c6b6. v2.6.34-rc3-406 oops with 4965AGN wireless John W. Linville
2010-04-08 20:39 ` John W. Linville
[not found] ` <Pine.LNX.4.64.1004090336410.22139@boston.corp.fedex.com>
[not found] ` <1270759800.19330.19.camel@wwguy-ubuntu>
[not found] ` <20100408200218.GC2999@tuxdriver.com>
[not found] ` <1270762107.20845.3.camel@wwguy-ubuntu>
2010-04-09 15:38 ` pull request: wireless-2.6 2010-04-09 John W. Linville
2010-04-09 17:03 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).