USB: ehci-fsl: fix regression on mpc5121e
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: Anatolij Gustschin <agust@denx.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>