lkml.org 
[lkml]   [2012]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [ 39/69] iwlwifi: disable the buggy chain extension feature in HW
On Sun, Jun 17, 2012 at 07:00:20PM +0100, Ben Hutchings wrote:
> 3.2-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
>
> commit d012d04e4d6312ea157b6cf19e9689af934f5aa7 upstream.
>
> This feature has been reported to be buggy and enabled by
> default. We therefore need to disable it manually.
>
> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> Signed-off-by: John W. Linville <linville@tuxdriver.com>
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> ---
> drivers/net/wireless/iwlwifi/iwl-prph.h | 1 +
> drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> --- a/drivers/net/wireless/iwlwifi/iwl-prph.h
> +++ b/drivers/net/wireless/iwlwifi/iwl-prph.h
> @@ -228,6 +228,7 @@
> #define SCD_TXFACT (SCD_BASE + 0x10)
> #define SCD_ACTIVE (SCD_BASE + 0x14)
> #define SCD_QUEUECHAIN_SEL (SCD_BASE + 0xe8)
> +#define SCD_CHAINEXT_EN (SCD_BASE + 0x244)
> #define SCD_AGGR_SEL (SCD_BASE + 0x248)
> #define SCD_INTERRUPT_MASK (SCD_BASE + 0x108)
>
> --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
> @@ -868,6 +868,11 @@
> iwl_write_prph(bus(trans), SCD_DRAM_BASE_ADDR,
> trans_pcie->scd_bc_tbls.dma >> 10);
>
> + /* The chain extension of the SCD doesn't work well. This feature is
> + * enabled by default by the HW, so we need to disable it manually.
> + */
> + iwl_write_prph(trans, SCD_CHAINEXT_EN, 0);
> +

Hi, this triggers the following build warning:
linux-stable/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function 'iwl_trans_pcie_tx_start':
linux-stable/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:874:2: warning: passing argument 1 of 'iwl_write_prph' from incompatible pointer type [enabled by default]
linux-stable/drivers/net/wireless/iwlwifi/iwl-io.h:72:6: note: expected 'struct iwl_bus *' but argument is of type 'struct iwl_trans *'

For 3.2, it should be passed as bus(trans) as other invocations.

> /* Enable DMA channel */
> for (chan = 0; chan < FH_TCSR_CHNL_NUM ; chan++)
> iwl_write_direct32(bus(trans), FH_TCSR_CHNL_TX_CONFIG_REG(chan),
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

--
[]'s
Herton


\
 
 \ /
  Last update: 2012-06-18 22:01    [W:0.212 / U:1.368 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site