iwlcore: Set rb_timeout to 0x10 for devices with ICT
authorMohamed Abbas <mohamed.abbas@intel.com>
Fri, 22 May 2009 18:01:53 +0000 (11:01 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 22 May 2009 18:06:09 +0000 (14:06 -0400)
rb value should be 0x10 for devices using ICT.
 RX interrupt was not performing well with
 0 value

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-rx.c

index c845089701eb666b78374e0516b46160c68c4d37..2b8d40b37a1c9e1be70e0989b4fc2820faf9290e 100644 (file)
@@ -412,7 +412,10 @@ int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
 {
        u32 rb_size;
        const u32 rfdnlog = RX_QUEUE_SIZE_LOG; /* 256 RBDs */
-       const u32 rb_timeout = 0; /* FIXME: RX_RB_TIMEOUT why this stalls RX */
+       u32 rb_timeout = 0; /* FIXME: RX_RB_TIMEOUT for all devices? */
+
+       if (!priv->cfg->use_isr_legacy)
+               rb_timeout = RX_RB_TIMEOUT;
 
        if (priv->cfg->mod_params->amsdu_size_8K)
                rb_size = FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_8K;