It's because the spinlock inside pcc_mbox_request_channel() is
kept too long. Adding a mutex to protect critical section of this
function. Beside of that, spinlock is still used to protect the
data of channel.