diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-16 11:52:43 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-16 11:52:43 -0700 | 
| commit | c8988f968240069aeae16d8cf9f59096a085eb27 (patch) | |
| tree | 5d75d8b6014353caf5ad9db2d189cd6427c80488 /arch/ia64/kernel | |
| parent | 10acaf0c8a481c1ea9ba9d550a292595d8279ee1 (diff) | |
| parent | 732a675a6303156d1a197dc780b0712bd4b49d46 (diff) | |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Fix CONFIG_IA64_SGI_UV build error
  [IA64] Update check_sal_cache_flush to use platform_send_ipi()
  [IA64] perfmon: fix async exit bug
Diffstat (limited to 'arch/ia64/kernel')
| -rw-r--r-- | arch/ia64/kernel/perfmon.c | 10 | ||||
| -rw-r--r-- | arch/ia64/kernel/sal.c | 7 | 
2 files changed, 8 insertions, 9 deletions
| diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 71d05133f556..7714a97b0104 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c @@ -1864,11 +1864,6 @@ pfm_flush(struct file *filp, fl_owner_t id)  	 * invoked after, it will find an empty queue and no  	 * signal will be sent. In both case, we are safe  	 */ -	if (filp->f_flags & FASYNC) { -		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); -		pfm_do_fasync (-1, filp, ctx, 0); -	} -  	PROTECT_CTX(ctx, flags);  	state     = ctx->ctx_state; @@ -1999,6 +1994,11 @@ pfm_close(struct inode *inode, struct file *filp)  		return -EBADF;  	} +	if (filp->f_flags & FASYNC) { +		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); +		pfm_do_fasync(-1, filp, ctx, 0); +	} +  	PROTECT_CTX(ctx, flags);  	state     = ctx->ctx_state; diff --git a/arch/ia64/kernel/sal.c b/arch/ia64/kernel/sal.c index 7e0259709c04..0464173ea568 100644 --- a/arch/ia64/kernel/sal.c +++ b/arch/ia64/kernel/sal.c @@ -252,11 +252,10 @@ check_sal_cache_flush (void)  	local_irq_save(flags);  	/* -	 * Schedule a timer interrupt, wait until it's reported, and see if -	 * SAL_CACHE_FLUSH drops it. +	 * Send ourselves a timer interrupt, wait until it's reported, and see +	 * if SAL_CACHE_FLUSH drops it.  	 */ -	ia64_set_itv(IA64_TIMER_VECTOR); -	ia64_set_itm(ia64_get_itc() + 1000); +	platform_send_ipi(cpu, IA64_TIMER_VECTOR, IA64_IPI_DM_INT, 0);  	while (!ia64_get_irr(IA64_TIMER_VECTOR))  		cpu_relax(); | 
