[PATCH] Maemo6 MCE: skip first adapter_powered callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From 12f6e83e8a437f945a18d9e15e956039acad3a4b Mon Sep 17 00:00:00 2001
From: Daniel Orstadius <daniel.orstadius@xxxxxxxxx>
Date: Thu, 24 Feb 2011 13:45:33 +0200
Subject: [PATCH] Maemo6 MCE: skip first adapter_powered callback

The maemo6 MCE plugin should be used with the flag InitiallyPowered
in main.conf set to 'true' so that BlueZ powers on the adapter
and leaves it in that state when the daemon is started. The plugin
will read the radio state from the MCE and set the state
accordingly. The maemo6 plugin is a btd_adapter_driver and those
drivers are loaded after BlueZ has read the BD address etc from the
adapter.

This patch adds a boolean flag in the callback to ignore the initial
powering on of the adapter by BlueZ, since it shouldn't be
propagated to the MCE. With InitiallyPowered set to 'false' the
adapter_powered callback is not called when the adapter is turned
on at BlueZ startup, which is why this wasn't implemented before.
---
 plugins/maemo6.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/plugins/maemo6.c b/plugins/maemo6.c
index 3c91926..56f2664 100644
--- a/plugins/maemo6.c
+++ b/plugins/maemo6.c
@@ -135,9 +135,15 @@ static void adapter_powered(struct btd_adapter *adapter, gboolean powered)
 	DBusMessage *msg;
 	dbus_uint32_t radio_states = 0;
 	dbus_uint32_t radio_mask = MCE_RADIO_STATE_BLUETOOTH;
+	static gboolean startup = TRUE;
 
 	DBG("adapter_powered called with %d", powered);
 
+	if (startup) {
+		startup = FALSE;
+		return;
+	}
+
 	/* check if the plugin got the get_radio_states reply from the
 	 * mce when the adapter was not yet down during the power
 	 * cycling when bluetoothd is started */
-- 
1.6.0.4


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux