]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: rockchip: i2s: Fix concurrency between tx/rx
authorSugar Zhang <sugar.zhang@rock-chips.com>
Fri, 3 Sep 2021 13:07:14 +0000 (21:07 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 3 Sep 2021 15:19:01 +0000 (16:19 +0100)
commit280bb374daab6b40265e83cbb961b05bb24f9a7e
tree7e73f5dab66462ea741b812989238ecf0f191317
parent76215d10fbe8a47c9a4b265cf60c48820983695c
ASoC: rockchip: i2s: Fix concurrency between tx/rx

This patch adds lock to fix comcurrency between tx/rx
to fix 'rockchip-i2s ff070000.i2s; fail to clear'

Considering the situation;

       tx stream              rx stream
           |                      |
           |                   disable
         enable                   |
           |                    reset

After this patch:

         lock
           |
       tx stream
           |
         enable
           |
        unlock
       --------               ---------
                                lock
                                  |
                              rx stream
                                  |
                               disable
                                  |
                                reset
                                  |
                               unlock

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Link: https://lore.kernel.org/r/1630674434-650-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rockchip_i2s.c