diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-11-13 06:35:43 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-11-14 05:07:45 -0500 |
commit | 9f904b382ff61b8ec1f81f8afe76f12a5ac8b4cf (patch) | |
tree | 85ee85bdbb745a80959f44cdbc2789ae17d697a3 /drivers | |
parent | dbeca583f9b8e35aa08279b81d5340dac3a60aff (diff) |
iwlwifi: don't enable interrupt as a W/A when MSI is enabled
This is not needed, the comment there was wrong, it
is only needed when MSI was *not* enabled.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/pcie/trans.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index a1b9d07b9d01..7eb5f483f77d 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c | |||
@@ -2184,9 +2184,16 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, | |||
2184 | pci_write_config_byte(pdev, PCI_CFG_RETRY_TIMEOUT, 0x00); | 2184 | pci_write_config_byte(pdev, PCI_CFG_RETRY_TIMEOUT, 0x00); |
2185 | 2185 | ||
2186 | err = pci_enable_msi(pdev); | 2186 | err = pci_enable_msi(pdev); |
2187 | if (err) | 2187 | if (err) { |
2188 | dev_printk(KERN_ERR, &pdev->dev, | 2188 | dev_printk(KERN_ERR, &pdev->dev, |
2189 | "pci_enable_msi failed(0X%x)\n", err); | 2189 | "pci_enable_msi failed(0X%x)\n", err); |
2190 | /* enable rfkill interrupt: hw bug w/a */ | ||
2191 | pci_read_config_word(pdev, PCI_COMMAND, &pci_cmd); | ||
2192 | if (pci_cmd & PCI_COMMAND_INTX_DISABLE) { | ||
2193 | pci_cmd &= ~PCI_COMMAND_INTX_DISABLE; | ||
2194 | pci_write_config_word(pdev, PCI_COMMAND, pci_cmd); | ||
2195 | } | ||
2196 | } | ||
2190 | 2197 | ||
2191 | trans->dev = &pdev->dev; | 2198 | trans->dev = &pdev->dev; |
2192 | trans_pcie->irq = pdev->irq; | 2199 | trans_pcie->irq = pdev->irq; |
@@ -2196,14 +2203,6 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, | |||
2196 | snprintf(trans->hw_id_str, sizeof(trans->hw_id_str), | 2203 | snprintf(trans->hw_id_str, sizeof(trans->hw_id_str), |
2197 | "PCI ID: 0x%04X:0x%04X", pdev->device, pdev->subsystem_device); | 2204 | "PCI ID: 0x%04X:0x%04X", pdev->device, pdev->subsystem_device); |
2198 | 2205 | ||
2199 | /* TODO: Move this away, not needed if not MSI */ | ||
2200 | /* enable rfkill interrupt: hw bug w/a */ | ||
2201 | pci_read_config_word(pdev, PCI_COMMAND, &pci_cmd); | ||
2202 | if (pci_cmd & PCI_COMMAND_INTX_DISABLE) { | ||
2203 | pci_cmd &= ~PCI_COMMAND_INTX_DISABLE; | ||
2204 | pci_write_config_word(pdev, PCI_COMMAND, pci_cmd); | ||
2205 | } | ||
2206 | |||
2207 | /* Initialize the wait queue for commands */ | 2206 | /* Initialize the wait queue for commands */ |
2208 | init_waitqueue_head(&trans_pcie->wait_command_queue); | 2207 | init_waitqueue_head(&trans_pcie->wait_command_queue); |
2209 | spin_lock_init(&trans->reg_lock); | 2208 | spin_lock_init(&trans->reg_lock); |