rpmh-mailbox: Notify TX waiters from IRQ thread instead of tasklet

There is a priority inversion created by using a tasklet to notify TX
waiters after a TCS response arrives because tasklets run in softirq at a
normal priority, and some of the waiters are IRQ threads. Fix it by
notifying the TX waiters from an IRQ thread in order to match the priority
of the waiters.

Also, take this opportunity to clean up send_tcs_response() a bit. There's
no need to disable IRQs when taking the raw spin lock since that code is
already running from hard IRQ context.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
1 file changed