Hi Ying,
On Fri, Oct 29, 2010 at 04:41:39PM +0800, Deng, Ying An wrote:
> Dear Samuel,
>
> Please find the following flow after an analysis on the different behavior of
> the netbook, which removed the pci-E wifi device when rfkill key pressed
> down. It is different from common rfkill operation implemented on other
> netbooks.
>
> When RFKILL button pressed down to power off RF device...
Thanks for the detailed explanation, I appreciate.
Now that I understand the root cause of that issue, I managed to reproduce it
with my wifi dongle.
I think the real problem here is that remove_device() is calling
__connman_technology_disable_device() when the driver disable routine is
returning EINPROGRESS. This was a fix for the old oFono plugin, and with the
new one it doesn't make sense anymore.
Could you please try this patch then ?
diff --git a/src/device.c b/src/device.c
index f79e991..0e31b04 100644
--- a/src/device.c
+++ b/src/device.c
@@ -593,13 +593,9 @@ static void probe_driver(struct connman_element *element,
gpointer user_data)
static void remove_device(struct connman_device *device)
{
- int err;
-
DBG("device %p", device);
- err = __connman_device_disable(device);
- if (err < 0 && err == -EINPROGRESS)
- __connman_technology_disable_device(device);
+ __connman_device_disable(device);
switch (device->mode) {
case CONNMAN_DEVICE_MODE_UNKNOWN:
--
Intel Open Source Technology Centre
http://oss.intel.com/
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman