mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-22 10:34:55 +08:00
iwlwifi: workaround interrupt handling no some platforms
This patch adds workaround for an interrupt related hardware bug on some platforms. (Apparently these platforms boot-up w/ INTX_DISABLED set. -- JWL) Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
49898852e6
commit
cf88c433bf
@ -2602,6 +2602,7 @@ static int iwl4965_mac_start(struct ieee80211_hw *hw)
|
||||
{
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
int ret;
|
||||
u16 pci_cmd;
|
||||
|
||||
IWL_DEBUG_MAC80211("enter\n");
|
||||
|
||||
@ -2612,6 +2613,13 @@ static int iwl4965_mac_start(struct ieee80211_hw *hw)
|
||||
pci_restore_state(priv->pci_dev);
|
||||
pci_enable_msi(priv->pci_dev);
|
||||
|
||||
/* enable interrupts if needed: hw bug w/a */
|
||||
pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd);
|
||||
if (pci_cmd & PCI_COMMAND_INTX_DISABLE) {
|
||||
pci_cmd &= ~PCI_COMMAND_INTX_DISABLE;
|
||||
pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd);
|
||||
}
|
||||
|
||||
ret = request_irq(priv->pci_dev->irq, iwl4965_isr, IRQF_SHARED,
|
||||
DRV_NAME, priv);
|
||||
if (ret) {
|
||||
|
Loading…
Reference in New Issue
Block a user