• Anatolij Gustschin's avatar
    USB: ehci-fsl: fix regression on mpc5121e · f66dea70
    Anatolij Gustschin authored
    mpc5121e doesn't have system interface registers, accessing this
    register address space cause the machine check exception and a
    kernel crash:
    
    ...
    Machine check in kernel mode.
    Caused by (from SRR1=49030): Transfer error ack signal
    Oops: Machine check, sig: 7 [#1]
    MPC5121 ADS
    Modules linked in:
    NIP: c025fd60 LR: c0265bb4 CTR: 00000000
    REGS: df82dac0 TRAP: 0200   Not tainted
    (3.7.0-rc7-00641-g81e6c91)
    MSR: 00049030 <EE,ME,IR,DR>  CR: 42002024  XER: 20000000
    TASK = df824b70[1] 'swapper' THREAD: df82c000
    GPR00: 00000000 df82db70 df824b70 df3ed0f0 00000003 00000000 00000000 00000000
    GPR08: 00000020 32000000 c03550ec 20000000 22002028 00000000 c0003f5c 00000000
    GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c0423898 c0450000
    GPR24: 00000077 00000002 e5086180 1c000c00 e5086000 df33ec00 00000003 df34e000
    NIP [c025fd60] ehci_fsl_setup_phy+0xd0/0x354
    LR [c0265bb4] ehci_fsl_setup+0x220/0x284
    ...
    
    Fix it by checking 'have_sysif_regs' flag before register access.
    Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f66dea70
ehci-fsl.c 18.9 KB