Commit 25920992 authored by Jan Beulich's avatar Jan Beulich Committed by Ben Hutchings

x86: hpet: Fix masking of MSI interrupts

commit 6acf5a8c upstream.

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>
Link: http://lkml.kernel.org/r/5093E09002000078000A60E6@nat28.tlf.novell.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 1efa8a5a
...@@ -429,7 +429,7 @@ void hpet_msi_unmask(struct irq_data *data) ...@@ -429,7 +429,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));
} }
...@@ -440,7 +440,7 @@ void hpet_msi_mask(struct irq_data *data) ...@@ -440,7 +440,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