Return an error code from supplicant in
onUsdPublishConfigFailed and notifyUsdSubscribeConfigFailed.

Bug: 382756996
Test: m
Change-Id: I76b01a70afcbbf6c6c36b1d8ea0dd7916c12bafe
diff --git a/wpa_supplicant/aidl/vendor/aidl_manager.cpp b/wpa_supplicant/aidl/vendor/aidl_manager.cpp
index 89a4251..52ac6ab 100644
--- a/wpa_supplicant/aidl/vendor/aidl_manager.cpp
+++ b/wpa_supplicant/aidl/vendor/aidl_manager.cpp
@@ -2996,24 +2996,26 @@
 			&ISupplicantStaIfaceCallback::onUsdSubscribeStarted,
 			std::placeholders::_1, cmd_id, subscribe_id));
 }
-void AidlManager::notifyUsdPublishConfigFailed(struct wpa_supplicant *wpa_s, int cmd_id)
+void AidlManager::notifyUsdPublishConfigFailed(struct wpa_supplicant *wpa_s,
+	int cmd_id, ISupplicantStaIfaceCallback::UsdConfigErrorCode error_code)
 {
 	if (!wpa_s) return;
 	if (!areAidlServiceAndClientAtLeastVersion(4)) return;
 	callWithEachStaIfaceCallback(
 		misc_utils::charBufToString(wpa_s->ifname), std::bind(
 			&ISupplicantStaIfaceCallback::onUsdPublishConfigFailed,
-			std::placeholders::_1, cmd_id));
+			std::placeholders::_1, cmd_id, error_code));
 }
 
-void AidlManager::notifyUsdSubscribeConfigFailed(struct wpa_supplicant *wpa_s, int cmd_id)
+void AidlManager::notifyUsdSubscribeConfigFailed(struct wpa_supplicant *wpa_s,
+	int cmd_id, ISupplicantStaIfaceCallback::UsdConfigErrorCode error_code)
 {
 	if (!wpa_s) return;
 	if (!areAidlServiceAndClientAtLeastVersion(4)) return;
 	callWithEachStaIfaceCallback(
 		misc_utils::charBufToString(wpa_s->ifname), std::bind(
 			&ISupplicantStaIfaceCallback::onUsdSubscribeConfigFailed,
-			std::placeholders::_1, cmd_id));
+			std::placeholders::_1, cmd_id, error_code));
 }
 
 UsdServiceProtoType convertUsdServiceProtoTypeToAidl(nan_service_protocol_type type) {
diff --git a/wpa_supplicant/aidl/vendor/aidl_manager.h b/wpa_supplicant/aidl/vendor/aidl_manager.h
index d40837c..b217749 100644
--- a/wpa_supplicant/aidl/vendor/aidl_manager.h
+++ b/wpa_supplicant/aidl/vendor/aidl_manager.h
@@ -182,8 +182,10 @@
 			int cmd_id, int publish_id);
 	void notifyUsdSubscribeStarted(struct wpa_supplicant *wpa_s,
 			int cmd_id, int subscribe_id);
-	void notifyUsdPublishConfigFailed(struct wpa_supplicant *wpa_s, int cmd_id);
-	void notifyUsdSubscribeConfigFailed(struct wpa_supplicant *wpa_s, int cmd_id);
+	void notifyUsdPublishConfigFailed(struct wpa_supplicant *wpa_s,
+			int cmd_id, ISupplicantStaIfaceCallback::UsdConfigErrorCode error_code);
+	void notifyUsdSubscribeConfigFailed(struct wpa_supplicant *wpa_s,
+			int cmd_id, ISupplicantStaIfaceCallback::UsdConfigErrorCode error_code);
 	void notifyUsdServiceDiscovered(struct wpa_supplicant *wpa_s,
 			enum nan_service_protocol_type srv_proto_type,
 			int subscribe_id, int peer_publish_id, const u8 *peer_addr,
diff --git a/wpa_supplicant/aidl/vendor/sta_iface.cpp b/wpa_supplicant/aidl/vendor/sta_iface.cpp
index 478874d..16adf25 100644
--- a/wpa_supplicant/aidl/vendor/sta_iface.cpp
+++ b/wpa_supplicant/aidl/vendor/sta_iface.cpp
@@ -2795,7 +2795,8 @@
 	WPA_ASSERT(aidl_manager);
 	if (publishId < 0) {
 		wpa_printf(MSG_INFO, "Failed to configure USD publish");
-		aidl_manager->notifyUsdPublishConfigFailed(wpa_s, cmdId);
+		aidl_manager->notifyUsdPublishConfigFailed(
+			wpa_s, cmdId, UsdConfigErrorCode::FAILURE_UNKNOWN);
 		return createStatus(SupplicantStatusCode::FAILURE_UNKNOWN);
 	}
 	aidl_manager->notifyUsdPublishStarted(wpa_s, cmdId, publishId);
@@ -2829,7 +2830,8 @@
 	WPA_ASSERT(aidl_manager);
 	if (subscribeId < 0) {
 		wpa_printf(MSG_INFO, "Failed to configure USD subscribe");
-		aidl_manager->notifyUsdSubscribeConfigFailed(wpa_s, cmdId);
+		aidl_manager->notifyUsdSubscribeConfigFailed(
+			wpa_s, cmdId, UsdConfigErrorCode::FAILURE_UNKNOWN);
 		return createStatus(SupplicantStatusCode::FAILURE_UNKNOWN);
 	}
 	aidl_manager->notifyUsdSubscribeStarted(wpa_s, cmdId, subscribeId);