alsa_sound: prevent lowlatency errors triggering WD reset

- HAL tries to recover from pcm write or read failure
  by closing and reopening pcm driver.
- There is no check when pcm is reopened. If the
  reopen fails it keeps trying multiple times in loop
- Fix the issue by checking error condition and
  return on failure.

Bug: 7253359
Change-Id: Ia15153f5b43bb0f255a8b34b70025a6215484cee
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/alsa_sound/AudioStreamOutALSA.cpp b/alsa_sound/AudioStreamOutALSA.cpp
index d047cd4..2adb5d8 100644
--- a/alsa_sound/AudioStreamOutALSA.cpp
+++ b/alsa_sound/AudioStreamOutALSA.cpp
@@ -260,8 +260,12 @@
                      mHandle->rxHandle = NULL;
                      mHandle->module->startVoipCall(mHandle);
                 }
-                else {
+                else
                     mHandle->module->open(mHandle);
+                if(mHandle->handle == NULL) {
+                   ALOGE("write:: device re-open failed");
+                   mParent->mLock.unlock();
+                   return bytes;
                 }
             }
             mParent->mLock.unlock();