For a p2p driver previously registered, after disabling wifi and
enabling again, p2p driver probe was missing.
---
 src/technology.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/technology.c b/src/technology.c
index 5a12202..fdb429a 100644
--- a/src/technology.c
+++ b/src/technology.c
@@ -1220,6 +1220,7 @@ int connman_technology_driver_register(struct 
connman_technology_driver *driver)
        GSList *list;
        struct connman_device *device;
        enum connman_service_type type;
+       struct connman_technology *technology;
 
        for (list = driver_list; list; list = list->next) {
                if (list->data == driver)
@@ -1254,8 +1255,11 @@ int connman_technology_driver_register(struct 
connman_technology_driver *driver)
 
 exist:
        if (driver->type == CONNMAN_SERVICE_TYPE_P2P) {
-               if (!technology_get(CONNMAN_SERVICE_TYPE_P2P))
+               technology = technology_get(CONNMAN_SERVICE_TYPE_P2P);
+               if (!technology)
                        return -ENOMEM;
+               else if (driver->probe)
+                       driver->probe(technology);
        }
 
        return 0;
-- 
1.8.3.2

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to