Another fix to AT+CHLD=2

Swap() can't actually be used for calls in WAITING state. Instead simply
call Answer() for a waiting call and it will automatically put any
previously active call on hold.
diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c
index e32da96..669c7d9 100644
--- a/audio/telephony-maemo.c
+++ b/audio/telephony-maemo.c
@@ -780,15 +780,15 @@
 			held = find_call_with_status(CSD_CALL_STATUS_HOLD);
 			wait = find_call_with_status(CSD_CALL_STATUS_WAITING);
 
-			if (call && (held || wait))
+			if (wait)
+				err = answer_call(wait);
+			else if (call && held)
 				err = swap_calls();
 			else {
 				if (call)
 					err = hold_call(call);
 				if (held)
 					err = unhold_call(held);
-				if (wait)
-					err = answer_call(wait);
 			}
 		}
 		break;