Commit 6acf5a8c authored by Jan Beulich's avatar Jan Beulich Committed by Thomas Gleixner

x86: hpet: Fix masking of MSI interrupts

HPET_TN_FSB is not a proper mask bit; it merely toggles between MSI and
legacy interrupt delivery. The proper mask bit is HPET_TN_ENABLE, so
use both bits when (un)masking the interrupt.
Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/5093E09002000078000A60E6@nat28.tlf.novell.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 279f1461
...@@ -434,7 +434,7 @@ void hpet_msi_unmask(struct irq_data *data) ...@@ -434,7 +434,7 @@ void hpet_msi_unmask(struct irq_data *data)
/* unmask it */ /* unmask it */
cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); cfg = hpet_readl(HPET_Tn_CFG(hdev->num));
cfg |= HPET_TN_FSB; cfg |= HPET_TN_ENABLE | HPET_TN_FSB;
hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); hpet_writel(cfg, HPET_Tn_CFG(hdev->num));
} }
...@@ -445,7 +445,7 @@ void hpet_msi_mask(struct irq_data *data) ...@@ -445,7 +445,7 @@ void hpet_msi_mask(struct irq_data *data)
/* mask it */ /* mask it */
cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); cfg = hpet_readl(HPET_Tn_CFG(hdev->num));
cfg &= ~HPET_TN_FSB; cfg &= ~(HPET_TN_ENABLE | HPET_TN_FSB);
hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); hpet_writel(cfg, HPET_Tn_CFG(hdev->num));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment