diff --git a/drivers/clocksource/intel-gptc-timer.c b/drivers/clocksource/intel-gptc-timer.c
index df8fb97fed44c2b34afa37d1e54346da37bb0ab4..2a6c4e844aa08c564cec5ebf86f4c2f8da303200 100755
--- a/drivers/clocksource/intel-gptc-timer.c
+++ b/drivers/clocksource/intel-gptc-timer.c
@@ -312,9 +312,11 @@ static irqreturn_t gptc_timer_interrupt(int irq, void *data)
 	struct gptc_clockevent *gptce = data;
 	struct gptc_timer *timer = gptce->timer;
 
+	gptc_irq_mask(timer);
 	gptc_irq_ack(timer);
 
 	gptce->ce.event_handler(&gptce->ce);
+	gptc_irq_unmask(timer);
 	return IRQ_HANDLED;
 }