In imx35 linux, if something is running in user space, the latency from the complete() (called in an IRQ handler) to wait_for_completion_interruptible() which being called by the bottom half can be more than 2000usec.