diff options
author | Zhenhua Zhang <zhenhua.zhang@intel.com> | 2010-05-06 14:28:13 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-05-10 15:26:09 -0500 |
commit | 988750898e5a6d736dddd2dcef96f01ea15afd0f (patch) | |
tree | 870b97c3b6380d2877cbd225eed0bdff2a544b80 | |
parent | 4c483acbc66983e3d025fc4e7ef0c3590db43fbe (diff) | |
download | ofono-988750898e5a6d736dddd2dcef96f01ea15afd0f.tar.bz2 |
Fix check data device before register the modem
To avoid the race condition that modem is registered before we retrieve
the data device property.
-rw-r--r-- | plugins/udev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/udev.c b/plugins/udev.c index 964ac655..4aaeeb97 100644 --- a/plugins/udev.c +++ b/plugins/udev.c @@ -97,7 +97,7 @@ static void add_mbm(struct ofono_modem *modem, struct udev_device *udev_device) { const char *desc, *devnode; - const char *device, *network; + const char *device, *data, *network; int registered; desc = udev_device_get_sysattr_value(udev_device, "device/interface"); @@ -143,9 +143,10 @@ static void add_mbm(struct ofono_modem *modem, } device = ofono_modem_get_string(modem, MODEM_DEVICE); + data = ofono_modem_get_string(modem, DATA_DEVICE); network = ofono_modem_get_string(modem, NETWORK_INTERFACE); - if (device != NULL && network != NULL) { + if (device != NULL && data != NULL && network != NULL) { ofono_modem_set_integer(modem, "Registered", 1); ofono_modem_register(modem); } |