summaryrefslogtreecommitdiff
path: root/plugins/hh2serial-gps.c
diff options
context:
space:
mode:
authorZhang zhengguang <zhengguang.zhang@intel.com>2014-07-17 10:37:39 +0800
committerZhang zhengguang <zhengguang.zhang@intel.com>2014-07-17 10:37:39 +0800
commit1b9d0a62f59bb48c8deb2f0b98d9acdffdd9abe7 (patch)
tree6e991827d28537f7f40f20786c2354fd04a9fdad /plugins/hh2serial-gps.c
parentfbe905ab58ecc31fe64c410c5f580cadc30e7f04 (diff)
downloadconnman-1b9d0a62f59bb48c8deb2f0b98d9acdffdd9abe7.tar.gz
connman-1b9d0a62f59bb48c8deb2f0b98d9acdffdd9abe7.tar.bz2
connman-1b9d0a62f59bb48c8deb2f0b98d9acdffdd9abe7.zip
Imported Upstream version 1.24upstream/1.24
Diffstat (limited to 'plugins/hh2serial-gps.c')
-rw-r--r--plugins/hh2serial-gps.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/plugins/hh2serial-gps.c b/plugins/hh2serial-gps.c
index 20521b04..99394e1c 100644
--- a/plugins/hh2serial-gps.c
+++ b/plugins/hh2serial-gps.c
@@ -77,7 +77,7 @@ static int hh2serial_disable(struct connman_device *device)
return 0;
}
-static struct connman_device_driver hh2seial_device_driver = {
+static struct connman_device_driver hh2serial_device_driver = {
.name = "hh2serial GPS",
.type = CONNMAN_DEVICE_TYPE_GPS,
.enable = hh2serial_enable,
@@ -88,24 +88,36 @@ static struct connman_device_driver hh2seial_device_driver = {
static int hh2serial_init(void)
{
- connman_device_driver_register(&hh2seial_device_driver);
+ int err;
+
+ err = connman_device_driver_register(&hh2serial_device_driver);
+ if (err < 0)
+ return err;
hh2serial_device = connman_device_create("hh2serial_gps",
CONNMAN_DEVICE_TYPE_GPS);
- if (hh2serial_device == NULL)
+ if (!hh2serial_device) {
+ connman_device_driver_unregister(&hh2serial_device_driver);
return -ENODEV;
+ }
- connman_device_register(hh2serial_device);
+ err = connman_device_register(hh2serial_device);
+ if (err < 0) {
+ connman_device_unref(hh2serial_device);
+ return err;
+ }
return 0;
}
static void hh2serial_exit(void)
{
- if (hh2serial_device != NULL) {
+ if (hh2serial_device) {
connman_device_unregister(hh2serial_device);
connman_device_unref(hh2serial_device);
}
+
+ connman_device_driver_unregister(&hh2serial_device_driver);
}
CONNMAN_PLUGIN_DEFINE(hh2serial_gps, "hh2serial GPS", VERSION,