iwlwifi: enable DC calibration
authorAbhijeet Kolekar <abhijeet.kolekar@intel.com>
Fri, 22 Jan 2010 22:22:47 +0000 (14:22 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 25 Jan 2010 21:36:21 +0000 (16:36 -0500)
From: Abhijeet Kolekar <abhijeet.kolekar@intel.com>

For 6X50 DC calibration needs to be initialized
else uCode will run an endless loop.
Enbale DC calibration in hw config.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@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-6000.c

index b191c63..f89ef4a 100644 (file)
@@ -158,11 +158,25 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
        /* Set initial sensitivity parameters */
        /* Set initial calibration set */
        priv->hw_params.sens = &iwl6000_sensitivity;
-       priv->hw_params.calib_init_cfg =
+       switch (priv->hw_rev & CSR_HW_REV_TYPE_MSK) {
+       case CSR_HW_REV_TYPE_6x50:
+               priv->hw_params.calib_init_cfg =
                        BIT(IWL_CALIB_XTAL)             |
+                       BIT(IWL_CALIB_DC)               |
                        BIT(IWL_CALIB_LO)               |
                        BIT(IWL_CALIB_TX_IQ)            |
                        BIT(IWL_CALIB_BASE_BAND);
+
+               break;
+       default:
+               priv->hw_params.calib_init_cfg =
+                       BIT(IWL_CALIB_XTAL)             |
+                       BIT(IWL_CALIB_LO)               |
+                       BIT(IWL_CALIB_TX_IQ)            |
+                       BIT(IWL_CALIB_BASE_BAND);
+               break;
+       }
+
        return 0;
 }