diff options
Diffstat (limited to 'arch/arm/kernel/traps.c')
| -rw-r--r-- | arch/arm/kernel/traps.c | 31 | 
1 files changed, 2 insertions, 29 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 0c8b10801d36..9f5d81881eb6 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -533,8 +533,6 @@ static int bad_syscall(int n, struct pt_regs *regs)  	return regs->ARM_r0;  } -static long do_cache_op_restart(struct restart_block *); -  static inline int  __do_cache_op(unsigned long start, unsigned long end)  { @@ -543,24 +541,8 @@ __do_cache_op(unsigned long start, unsigned long end)  	do {  		unsigned long chunk = min(PAGE_SIZE, end - start); -		if (signal_pending(current)) { -			struct thread_info *ti = current_thread_info(); - -			ti->restart_block = (struct restart_block) { -				.fn	= do_cache_op_restart, -			}; - -			ti->arm_restart_block = (struct arm_restart_block) { -				{ -					.cache = { -						.start	= start, -						.end	= end, -					}, -				}, -			}; - -			return -ERESTART_RESTARTBLOCK; -		} +		if (fatal_signal_pending(current)) +			return 0;  		ret = flush_cache_user_range(start, start + chunk);  		if (ret) @@ -573,15 +555,6 @@ __do_cache_op(unsigned long start, unsigned long end)  	return 0;  } -static long do_cache_op_restart(struct restart_block *unused) -{ -	struct arm_restart_block *restart_block; - -	restart_block = ¤t_thread_info()->arm_restart_block; -	return __do_cache_op(restart_block->cache.start, -			     restart_block->cache.end); -} -  static inline int  do_cache_op(unsigned long start, unsigned long end, int flags)  {  | 
