Currently, OR1K architecture put the program counter at offset 0x128 of the current or1k_thread_state_t. However, the PC is restored after updating the thread pointer in r3, which causes the PC to be fetched incorrectly.
This patch swaps the order of restoration of r9 and r3, such that the PC is restored to r9 using the current thread state.