Android 7.1.1 Release 48 (N6F27I)
tinyalsa: pcm: open pcm driver in non blocking mode

- in current implementation pcm open call is blocking hence if pcm_open
  is done on same driver twice second pcm open will get blocked till
  first instance of the PCM driver is not released.
  In times this will result in deadlock.

- fix this issue by making PCM open in non-blocking mode.

- after pcm open is successful, in non-blocking mode, change the device
  mode to blocking again to make sure rest of the operation on the
  driver, like read / write calls, are always called in blocking mode.

Also fix jump to wrong label in case of failure before mmap().

Bug: 29865791
Bug: 30388410
Change-Id: I95c0ad8456e6c2bb3bfb48813e1db75cdef387f8
1 file changed