Thread (10 messages) 10 messages, 3 authors, 2011-12-30

Re: [PATCH 2/4] audio: gateway_unlock together with in_use = FALSE

flat view

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-12-15 11:48:50

Hi Mikel,

On Thu, Dec 15, 2011 at 12:01 PM, Mikel Astiz [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Mikel Astiz <redacted>

Calling gateway_unlock seems safer in gateway_suspend_complete, in
combination with the update of transport->in_use. This avoids the
transitional state of having the gateway unlocked but the transport
still in use.

This approach is also more consistent with the way headset and a2dp
handle it.
---
 audio/transport.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/audio/transport.c b/audio/transport.c
index 6029528..fc7026e 100644
--- a/audio/transport.c
+++ b/audio/transport.c
@@ -510,6 +510,7 @@ static gboolean gateway_suspend_complete(gpointer user_data)
 {
       struct media_owner *owner = user_data;
       struct media_transport *transport = owner->transport;
+       struct audio_device *device = transport->device;

       /* Release always succeeds */
       if (owner->pending) {
@@ -518,6 +519,7 @@ static gboolean gateway_suspend_complete(gpointer user_data)
               media_owner_remove(owner);
       }

+       gateway_unlock(device, GATEWAY_LOCK_READ | GATEWAY_LOCK_WRITE);
       transport->in_use = FALSE;
       media_transport_remove(transport, owner);
       return FALSE;
@@ -535,7 +537,6 @@ static guint suspend_gateway(struct media_transport *transport,
               return 0;
       }

-       gateway_unlock(device, GATEWAY_LOCK_READ | GATEWAY_LOCK_WRITE);
       g_idle_add(gateway_suspend_complete, owner);
       return id++;
 }
--
1.7.6.4
Ack, but see my comments about the first patch.

-- 
Luiz Augusto von Dentz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help