diff options
Diffstat (limited to 'arch/arm/mm/alignment.c')
| -rw-r--r-- | arch/arm/mm/alignment.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index b9f60ebe3bc..b820edaf318 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c @@ -745,7 +745,7 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs,  static int  do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)  { -	union offset_union offset; +	union offset_union uninitialized_var(offset);  	unsigned long instr = 0, instrptr;  	int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs);  	unsigned int type; @@ -856,8 +856,10 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)  		if (thumb2_32b) {  			offset.un = 0;  			handler = do_alignment_t32_to_handler(&instr, regs, &offset); -		} else +		} else { +			offset.un = 0;  			handler = do_alignment_ldmstm; +		}  		break;  	default:  |