setbat() in udbg_init_cpm() required to avoid driver lockup

Daniel Ng2 daniel.ng1234 at
Tue Jul 19 15:39:01 EST 2011

Our USB Device Controller (UDC) driver seems to get stuck in a loop waiting
for the CPM Command Register to indicate that the CPM has finished executing
a command. (It should do this by setting the cpmcr 'Command Done' bit).

This only happens if I disable the 'Early Debug' Kernel Hacking .config
parameter. If Early Debug is enabled, then the problem goes away.

I've narrowed it down to this line in udbg_init_cpm(void):

setbat(1, 0xf0000000, 0xf0000000, 0x40000, PAGE_KERNEL_NCG);

-without this line, the driver gets stuck in the loop.

Can anyone suggest why?

Also, what undesireable effects might there be of keeping the above call to

-MPC8272 (CPM2)


View this message in context:
Sent from the linuxppc-dev mailing list archive at

More information about the Linuxppc-dev mailing list