From fcb4a52d4e09124eb4442cdaf57575a49c92017a Mon Sep 17 00:00:00 2001
From: Paul Fertser <fercerpav@gmail.com>
Date: Sun, 27 Jun 2010 00:31:03 +0400
Subject: [PATCH] fsogsmd: fix suspend/resume issue surfaced after introduction of OM flow control

Modem's suspend() should wait for the channels' suspend() to complete
before calling lowlevel suspend and changing state. Without that
flowcontrol gets activated too early and the device immediately
resumes. Do the same for resume() for consistency and cleanness.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
---
 fsogsmd/src/lib/modem.vala |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fsogsmd/src/lib/modem.vala b/fsogsmd/src/lib/modem.vala
index 33cee8d..34c9a83 100644
--- a/fsogsmd/src/lib/modem.vala
+++ b/fsogsmd/src/lib/modem.vala
@@ -699,7 +699,7 @@ public abstract class FsoGsm.AbstractModem : FsoGsm.Modem, FsoFramework.Abstract
         var channels = this.channels.values;
         foreach( var channel in channels )
         {
-            channel.suspend();
+            yield channel.suspend();
         }
 
         lowlevel.suspend();
@@ -719,7 +719,7 @@ public abstract class FsoGsm.AbstractModem : FsoGsm.Modem, FsoFramework.Abstract
         var channels = this.channels.values;
         foreach( var channel in channels )
         {
-            channel.resume();
+            yield channel.resume();
         }
 
         advanceToState( modem_status_before_suspend, true ); // force
-- 
1.6.3.3


