From 170674fe162cf9f24ff2eae227ea393c44e33cce Mon Sep 17 00:00:00 2001 From: xiongchangwu Date: Sat, 21 Dec 2024 17:00:45 +0800 Subject: [PATCH] cherry pick ca8dfb5 from https://gitee.com/xiongchangwu1/drivers_hdf_core_1/pulls/2357 modify startHost Signed-off-by: xiongchangwu --- adapter/uhdf2/host/test/unittest/devhost_test.cpp | 2 +- adapter/uhdf2/host/test/unittest/devmgr_test.cpp | 2 +- adapter/uhdf2/manager/src/devmgr_service_stub.c | 2 +- framework/core/manager/src/devmgr_service.c | 5 ++++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/adapter/uhdf2/host/test/unittest/devhost_test.cpp b/adapter/uhdf2/host/test/unittest/devhost_test.cpp index 81384ea01..0a4d51896 100644 --- a/adapter/uhdf2/host/test/unittest/devhost_test.cpp +++ b/adapter/uhdf2/host/test/unittest/devhost_test.cpp @@ -78,7 +78,7 @@ HWTEST_F(DevHostTest, DevHostDevMgrServiceProxyTest, TestSize.Level1) ASSERT_TRUE(ret != HDF_SUCCESS); const char *name = "test_svcName"; ret = instance->LoadDevice(instance, name); - ASSERT_TRUE(ret == HDF_SUCCESS); + ASSERT_TRUE(ret != HDF_SUCCESS); struct DevmgrServiceProxy *proxy = reinterpret_cast(object); HdfRemoteServiceRecycle(proxy->remote); diff --git a/adapter/uhdf2/host/test/unittest/devmgr_test.cpp b/adapter/uhdf2/host/test/unittest/devmgr_test.cpp index 7678e47bc..8179b8eb6 100644 --- a/adapter/uhdf2/host/test/unittest/devmgr_test.cpp +++ b/adapter/uhdf2/host/test/unittest/devmgr_test.cpp @@ -103,7 +103,7 @@ HWTEST_F(DevMgrTest, DriverUnLoaderTest, TestSize.Level1) ASSERT_TRUE(devmgr != nullptr); int ret = devmgr->UnloadDevice(devmgr, TEST_SERVICE_NAME); - ASSERT_EQ(ret, HDF_SUCCESS); + ASSERT_TRUE(ret != HDF_SUCCESS); uint32_t cnt = 0; struct HdfRemoteService *sampleService = servmgr->GetService(servmgr, TEST_SERVICE_NAME); diff --git a/adapter/uhdf2/manager/src/devmgr_service_stub.c b/adapter/uhdf2/manager/src/devmgr_service_stub.c index ad7b82989..ab4d6d6b2 100644 --- a/adapter/uhdf2/manager/src/devmgr_service_stub.c +++ b/adapter/uhdf2/manager/src/devmgr_service_stub.c @@ -152,7 +152,7 @@ int32_t DevmgrServiceStubDispatch(struct HdfRemoteService *stub, int code, struc HDF_LOGE("%{public}s devmgr service stub dispach failed, cmd id is %{public}d, ret = %{public}d", __func__, code, ret); } - return HDF_SUCCESS; + return ret; } static void RemoveModule(const char *module) diff --git a/framework/core/manager/src/devmgr_service.c b/framework/core/manager/src/devmgr_service.c index e5d115b48..63ee99589 100644 --- a/framework/core/manager/src/devmgr_service.c +++ b/framework/core/manager/src/devmgr_service.c @@ -47,7 +47,7 @@ static bool DevmgrServiceDynamicDevInfoFound( return false; } -#define WAIT_HOST_SLEEP_TIME 1 // ms +#define WAIT_HOST_SLEEP_TIME 2 // ms #define WAIT_HOST_SLEEP_CNT 1000 static int DevmgrServiceStartHostProcess(struct DevHostServiceClnt *hostClnt, bool sync, bool dynamic) { @@ -75,6 +75,9 @@ static int DevmgrServiceStartHostProcess(struct DevHostServiceClnt *hostClnt, bo if (waitCount <= 0) { HDF_LOGE("wait host(%{public}s, %{public}d) attach timeout", hostClnt->hostName, hostClnt->hostId); + if (installer->StopDeviceHost != NULL) { + installer->StopDeviceHost(hostClnt->hostId, hostClnt->hostName); + } hostClnt->hostPid = -1; return HDF_ERR_TIMEOUT; } -- Gitee