diff options
-rw-r--r-- | drivers/pci/hotplug/shpchp_hpc.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c index 1a6b5448f81d..943ed2b4dabe 100644 --- a/drivers/pci/hotplug/shpchp_hpc.c +++ b/drivers/pci/hotplug/shpchp_hpc.c | |||
@@ -1109,14 +1109,8 @@ static irqreturn_t shpc_isr(int IRQ, void *dev_id, struct pt_regs *regs) | |||
1109 | wake_up_interruptible(&ctrl->queue); | 1109 | wake_up_interruptible(&ctrl->queue); |
1110 | } | 1110 | } |
1111 | 1111 | ||
1112 | if ((intr_loc = (intr_loc >> 1)) == 0) { | 1112 | if ((intr_loc = (intr_loc >> 1)) == 0) |
1113 | /* Unmask Global Interrupt Mask */ | 1113 | goto out; |
1114 | temp_dword = readl(php_ctlr->creg + SERR_INTR_ENABLE); | ||
1115 | temp_dword &= 0xfffffffe; | ||
1116 | writel(temp_dword, php_ctlr->creg + SERR_INTR_ENABLE); | ||
1117 | |||
1118 | return IRQ_NONE; | ||
1119 | } | ||
1120 | 1114 | ||
1121 | for (hp_slot = 0; hp_slot < ctrl->num_slots; hp_slot++) { | 1115 | for (hp_slot = 0; hp_slot < ctrl->num_slots; hp_slot++) { |
1122 | /* To find out which slot has interrupt pending */ | 1116 | /* To find out which slot has interrupt pending */ |
@@ -1146,6 +1140,7 @@ static irqreturn_t shpc_isr(int IRQ, void *dev_id, struct pt_regs *regs) | |||
1146 | dbg("%s: intr_loc2 = %x\n",__FUNCTION__, intr_loc2); | 1140 | dbg("%s: intr_loc2 = %x\n",__FUNCTION__, intr_loc2); |
1147 | } | 1141 | } |
1148 | } | 1142 | } |
1143 | out: | ||
1149 | if (!shpchp_poll_mode) { | 1144 | if (!shpchp_poll_mode) { |
1150 | /* Unmask Global Interrupt Mask */ | 1145 | /* Unmask Global Interrupt Mask */ |
1151 | temp_dword = readl(php_ctlr->creg + SERR_INTR_ENABLE); | 1146 | temp_dword = readl(php_ctlr->creg + SERR_INTR_ENABLE); |