Add workaround for DHCP startup failures with WiFi networks
authorSam Leffler <sleffler@google.com>
Mon, 30 Nov 2009 17:26:15 +0000 (18:26 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 30 Nov 2009 17:29:48 +0000 (18:29 +0100)
commit322c62bff4462c38c6643e9850847afd4c671c08
tree44bfcbcf294338fc70a5ec61fa435820367c410c
parenteafed80a48c77f3a58bb8feacc095f934b2529ac
Add workaround for DHCP startup failures with WiFi networks

When connecting to a wireless network the supplicant plugin holds
to a network object. But this object is removed from the object table
as a consequence of doing a device disconnect. If a network connect
is in progress when nother connect request comes in (e.g. via D-Bus)
it will irst disconnect which causes the object to be yanked from the
global table. When the first connect request completes the reference
held by the supplicant code is "unregistered" and not usable in starting
up a DHCP client. This leaves it in an unfixable state (restart required).

Workaround is to check in __connman_device_disconnect whether a network
is "connecting" and not disconnect it.
src/device.c