msm: sps: Fix BAM ISR race with pipe disconnect
Pipe EOT can occur while SPS pipe disconnect is being done.
The pipe disconnect can free up resources and pointers that
are used by bam_isr() in parallel in SMP environment and can
cause null pointer dereference.
Fix this by calling synchronize_irq() before freeing up resources
and by spin_lock to avoid race conditions.
Change-Id: I51eb88e1d68123d13d4aaf654e729236a4a3f144
Signed-off-by:
Dipen Parmar <dipenp@codeaurora.org>
Loading
Please sign in to comment