x86/mrst/vrtc: Fix boot crash in mrst_rtc_init()
Feng Tang [Thu, 7 Apr 2011 01:39:49 +0000 (09:39 +0800)]
The sfi_mrtc_array[] only gets initialized when the sfi mrtc
table is parsed, so the vrtc_paddr should be initalized after it
too.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1302140389-27603-1-git-send-email-feng.tang@intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>

arch/x86/platform/mrst/vrtc.c

index 04cf645..73d70d6 100644 (file)
@@ -100,9 +100,11 @@ int vrtc_set_mmss(unsigned long nowtime)
 
 void __init mrst_rtc_init(void)
 {
-       unsigned long vrtc_paddr = sfi_mrtc_array[0].phys_addr;
+       unsigned long vrtc_paddr;
 
        sfi_table_parse(SFI_SIG_MRTC, NULL, NULL, sfi_parse_mrtc);
+
+       vrtc_paddr = sfi_mrtc_array[0].phys_addr;
        if (!sfi_mrtc_num || !vrtc_paddr)
                return;