diff --git a/adapter/uhdf2/host/test/unittest/devhost_test.cpp b/adapter/uhdf2/host/test/unittest/devhost_test.cpp index a249d4814f6be6492436aff03d54d1cc9340a23e..727025bb073bce8bacf12e5ab8bd536f651d0c3f 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 26a906a6ccb42d1ca4ad7ef86da29ae561575cc8..b9dd7a114da79ac2694680245285c3da890cdd03 100644 --- a/adapter/uhdf2/host/test/unittest/devmgr_test.cpp +++ b/adapter/uhdf2/host/test/unittest/devmgr_test.cpp @@ -104,7 +104,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 7cb72a92849e5017aec8605091d1ebf83e303592..7eaa093f8a0803a0880d0d1a36f2b9f16dc07d6a 100644 --- a/adapter/uhdf2/manager/src/devmgr_service_stub.c +++ b/adapter/uhdf2/manager/src/devmgr_service_stub.c @@ -197,7 +197,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; } // LCOV_EXCL_START diff --git a/framework/core/manager/src/devmgr_service.c b/framework/core/manager/src/devmgr_service.c index fe66b391f4ad6ce66dbf9261e9403c7a8242d275..aae42ba578c7f56eb801c94ed717df602c192997 100644 --- a/framework/core/manager/src/devmgr_service.c +++ b/framework/core/manager/src/devmgr_service.c @@ -51,7 +51,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) { @@ -79,6 +79,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; }