Skip to content

Commit

Permalink
[PATCH] shpchp: Mask Global SERR and Intr at controller release time
Browse files Browse the repository at this point in the history
Global SERR and Interrupt should be masked at shpchp driver unload time.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Kenji Kaneshige authored and Greg Kroah-Hartman committed Jun 19, 2006
1 parent e713872 commit d49f2c4
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion drivers/pci/hotplug/shpchp_hpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ static void hpc_release_ctlr(struct controller *ctrl)
struct php_ctlr_state_s *php_ctlr = ctrl->hpc_ctlr_handle;
struct php_ctlr_state_s *p, *p_prev;
int i;
u32 slot_reg;
u32 slot_reg, serr_int;

DBG_ENTER_ROUTINE

Expand All @@ -822,6 +822,15 @@ static void hpc_release_ctlr(struct controller *ctrl)

cleanup_slots(ctrl);

/*
* Mask SERR and System Interrut generation
*/
serr_int = shpc_readl(ctrl, SERR_INTR_ENABLE);
serr_int |= (GLOBAL_INTR_MASK | GLOBAL_SERR_MASK |
COMMAND_INTR_MASK | ARBITER_SERR_MASK);
serr_int &= ~SERR_INTR_RSVDZ_MASK;
shpc_writel(ctrl, SERR_INTR_ENABLE, serr_int);

if (shpchp_poll_mode) {
del_timer(&php_ctlr->int_poll_timer);
} else {
Expand Down

0 comments on commit d49f2c4

Please sign in to comment.