diff options
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) | |||
| 1864 | * invoked after, it will find an empty queue and no | 1864 | * invoked after, it will find an empty queue and no |
| 1865 | * signal will be sent. In both case, we are safe | 1865 | * signal will be sent. In both case, we are safe |
| 1866 | */ | 1866 | */ |
| 1867 | if (filp->f_flags & FASYNC) { | ||
| 1868 | DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); | ||
| 1869 | pfm_do_fasync (-1, filp, ctx, 0); | ||
| 1870 | } | ||
| 1871 | |||
| 1872 | PROTECT_CTX(ctx, flags); | 1867 | PROTECT_CTX(ctx, flags); |
| 1873 | 1868 | ||
| 1874 | state = ctx->ctx_state; | 1869 | state = ctx->ctx_state; |
| @@ -1999,6 +1994,11 @@ pfm_close(struct inode *inode, struct file *filp) | |||
| 1999 | return -EBADF; | 1994 | return -EBADF; |
| 2000 | } | 1995 | } |
| 2001 | 1996 | ||
| 1997 | if (filp->f_flags & FASYNC) { | ||
| 1998 | DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); | ||
| 1999 | pfm_do_fasync(-1, filp, ctx, 0); | ||
| 2000 | } | ||
| 2001 | |||
| 2002 | PROTECT_CTX(ctx, flags); | 2002 | PROTECT_CTX(ctx, flags); |
| 2003 | 2003 | ||
| 2004 | state = ctx->ctx_state; | 2004 | 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) | |||
| 252 | local_irq_save(flags); | 252 | local_irq_save(flags); |
| 253 | 253 | ||
| 254 | /* | 254 | /* |
| 255 | * Schedule a timer interrupt, wait until it's reported, and see if | 255 | * Send ourselves a timer interrupt, wait until it's reported, and see |
| 256 | * SAL_CACHE_FLUSH drops it. | 256 | * if SAL_CACHE_FLUSH drops it. |
| 257 | */ | 257 | */ |
| 258 | ia64_set_itv(IA64_TIMER_VECTOR); | 258 | platform_send_ipi(cpu, IA64_TIMER_VECTOR, IA64_IPI_DM_INT, 0); |
| 259 | ia64_set_itm(ia64_get_itc() + 1000); | ||
| 260 | 259 | ||
| 261 | while (!ia64_get_irr(IA64_TIMER_VECTOR)) | 260 | while (!ia64_get_irr(IA64_TIMER_VECTOR)) |
| 262 | cpu_relax(); | 261 | cpu_relax(); |
