p2p: support using pre-defined passphrase for adding a new P2P group

wpas_p2p_group_add could use pre-defined network, but always generate
passphrase randomly. Provide a way to use pre-defined passphrase.

Bug: 64695709
Test: Group creation
      * create a group with a configuration.
      * join it as new Group Client.
      * join it as new Group Client.

Change-Id: I08fbfd6542a5c1e76335c3a5911ba09ea6d9ca78
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index b4660c4..585b4a0 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -1797,7 +1797,12 @@
 	}
 	p2p->ssid_set = 0;
 
-	p2p_random(params->passphrase, p2p->cfg->passphrase_len);
+	if (p2p->passphrase_set) {
+		os_memcpy(params->passphrase, p2p->passphrase, os_strlen(p2p->passphrase));
+	} else {
+		p2p_random(params->passphrase, p2p->cfg->passphrase_len);
+	}
+	p2p->passphrase_set = 0;
 	return 0;
 }