Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 279519
b: refs/heads/master
c: df17f56
h: refs/heads/master
i:
  279517: b5b9e4e
  279515: 8db23ec
  279511: d3a7e23
  279503: 6120c04
  279487: 53500ba
v: v3
  • Loading branch information
Ravi K. Nittala authored and Benjamin Herrenschmidt committed Nov 25, 2011
1 parent 9ab28ef commit 7f6015b
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cc35b6766878e31accc95c3fdae945bdadc73a46
refs/heads/master: df17f56d8a1a3a533b6b3e3a49a624626a49b197
6 changes: 6 additions & 0 deletions trunk/arch/powerpc/include/asm/rtas.h
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,12 @@ extern int early_init_dt_scan_rtas(unsigned long node,

extern void pSeries_log_error(char *buf, unsigned int err_type, int fatal);

#ifdef CONFIG_PPC_RTAS_DAEMON
extern void rtas_cancel_event_scan(void);
#else
static inline void rtas_cancel_event_scan(void) { }
#endif

/* Error types logged. */
#define ERR_FLAG_ALREADY_LOGGED 0x0
#define ERR_FLAG_BOOT 0x1 /* log was pulled from NVRAM on boot */
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/powerpc/kernel/rtas_flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,12 @@ static void rtas_flash_firmware(int reboot_type)
return;
}

/*
* Just before starting the firmware flash, cancel the event scan work
* to avoid any soft lockup issues.
*/
rtas_cancel_event_scan();

/*
* NOTE: the "first" block must be under 4GB, so we create
* an entry with no data blocks in the reserved buffer in
Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/powerpc/kernel/rtasd.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,13 @@ static void start_event_scan(void)
&event_scan_work, event_scan_delay);
}

/* Cancel the rtas event scan work */
void rtas_cancel_event_scan(void)
{
cancel_delayed_work_sync(&event_scan_work);
}
EXPORT_SYMBOL_GPL(rtas_cancel_event_scan);

static int __init rtas_init(void)
{
struct proc_dir_entry *entry;
Expand Down

0 comments on commit 7f6015b

Please sign in to comment.