P2P: Use consistent Device Capability in Beacon/Probe Response
authorMasashi Honma <masashi.honma@gmail.com>
Wed, 6 Jun 2012 09:55:44 +0000 (12:55 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 6 Jun 2012 09:55:44 +0000 (12:55 +0300)
Concurrent Operation bit was not set for GO even if the device
supports concurrent operations. Make sure the Device Capability
value is consistent with other P2P use cases by using the value
determined in p2p_init().

Signed-hostap: Masashi Honma <masashi.honma@gmail.com>

src/p2p/p2p_group.c

index 44b387a..8d4a3cb 100644 (file)
@@ -135,11 +135,10 @@ static void p2p_client_info(struct wpabuf *ie, struct p2p_group_member *m)
 static void p2p_group_add_common_ies(struct p2p_group *group,
                                     struct wpabuf *ie)
 {
-       u8 dev_capab = 0, group_capab = 0;
+       u8 dev_capab = group->p2p->dev_capab, group_capab = 0;
 
        /* P2P Capability */
-       dev_capab |= P2P_DEV_CAPAB_SERVICE_DISCOVERY;
-       dev_capab |= P2P_DEV_CAPAB_INVITATION_PROCEDURE;
+       dev_capab &= ~P2P_DEV_CAPAB_CLIENT_DISCOVERABILITY;
        group_capab |= P2P_GROUP_CAPAB_GROUP_OWNER;
        if (group->cfg->persistent_group) {
                group_capab |= P2P_GROUP_CAPAB_PERSISTENT_GROUP;