
From: Zhushuai Yin <yinzhushuai@huawei.com> After closing the driver, internal variables need to be reset to prevent missing the reset operation when calling external interfaces. Signed-off-by: Zhushuai Yin <yinzhushuai@huawei.com> --- wd_aead.c | 2 +- wd_agg.c | 2 +- wd_cipher.c | 2 +- wd_comp.c | 2 +- wd_dh.c | 2 +- wd_digest.c | 2 +- wd_ecc.c | 2 +- wd_join_gather.c | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/wd_aead.c b/wd_aead.c index 4ff7fd7..b10890f 100644 --- a/wd_aead.c +++ b/wd_aead.c @@ -67,6 +67,7 @@ static void wd_aead_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_aead_setting.dlh_list); + wd_aead_setting.dlh_list = NULL; return; } @@ -648,7 +649,6 @@ void wd_aead_uninit2(void) wd_alg_attrs_uninit(&wd_aead_init_attrs); wd_alg_drv_unbind(wd_aead_setting.driver); wd_aead_close_driver(WD_TYPE_V2); - wd_aead_setting.dlh_list = NULL; wd_alg_clear_init(&wd_aead_setting.status); } diff --git a/wd_agg.c b/wd_agg.c index 686e739..85fb7f6 100644 --- a/wd_agg.c +++ b/wd_agg.c @@ -76,6 +76,7 @@ static void wd_agg_close_driver(void) { #ifndef WD_STATIC_DRV wd_dlclose_drv(wd_agg_setting.dlh_list); + wd_agg_setting.dlh_list = NULL; #else wd_release_drv(wd_agg_setting.driver); hisi_dae_remove(); @@ -725,7 +726,6 @@ void wd_agg_uninit(void) wd_alg_attrs_uninit(&wd_agg_init_attrs); wd_alg_drv_unbind(wd_agg_setting.driver); wd_agg_close_driver(); - wd_agg_setting.dlh_list = NULL; wd_alg_clear_init(&wd_agg_setting.status); } diff --git a/wd_cipher.c b/wd_cipher.c index 95d6eb6..ef54dc8 100644 --- a/wd_cipher.c +++ b/wd_cipher.c @@ -76,6 +76,7 @@ static void wd_cipher_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_cipher_setting.dlh_list); + wd_cipher_setting.dlh_list = NULL; return; } @@ -521,7 +522,6 @@ void wd_cipher_uninit2(void) wd_alg_attrs_uninit(&wd_cipher_init_attrs); wd_alg_drv_unbind(wd_cipher_setting.driver); wd_cipher_close_driver(WD_TYPE_V2); - wd_cipher_setting.dlh_list = NULL; wd_alg_clear_init(&wd_cipher_setting.status); } diff --git a/wd_comp.c b/wd_comp.c index 112c97b..ac0470f 100644 --- a/wd_comp.c +++ b/wd_comp.c @@ -61,6 +61,7 @@ static void wd_comp_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_comp_setting.dlh_list); + wd_comp_setting.dlh_list = NULL; return; } @@ -345,7 +346,6 @@ void wd_comp_uninit2(void) wd_alg_attrs_uninit(&wd_comp_init_attrs); wd_alg_drv_unbind(wd_comp_setting.driver); wd_comp_close_driver(WD_TYPE_V2); - wd_comp_setting.dlh_list = NULL; wd_alg_clear_init(&wd_comp_setting.status); } diff --git a/wd_dh.c b/wd_dh.c index abef811..2c88ce2 100644 --- a/wd_dh.c +++ b/wd_dh.c @@ -46,6 +46,7 @@ static void wd_dh_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_dh_setting.dlh_list); + wd_dh_setting.dlh_list = NULL; return; } @@ -315,7 +316,6 @@ void wd_dh_uninit2(void) wd_alg_attrs_uninit(&wd_dh_init_attrs); wd_alg_drv_unbind(wd_dh_setting.driver); wd_dh_close_driver(WD_TYPE_V2); - wd_dh_setting.dlh_list = NULL; wd_alg_clear_init(&wd_dh_setting.status); } diff --git a/wd_digest.c b/wd_digest.c index 4c1b0ca..cb0a111 100644 --- a/wd_digest.c +++ b/wd_digest.c @@ -78,6 +78,7 @@ static void wd_digest_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_digest_setting.dlh_list); + wd_digest_setting.dlh_list = NULL; return; } @@ -457,7 +458,6 @@ void wd_digest_uninit2(void) wd_alg_attrs_uninit(&wd_digest_init_attrs); wd_alg_drv_unbind(wd_digest_setting.driver); wd_digest_close_driver(WD_TYPE_V2); - wd_digest_setting.dlh_list = NULL; wd_alg_clear_init(&wd_digest_setting.status); } diff --git a/wd_ecc.c b/wd_ecc.c index 58bc184..2a1228d 100644 --- a/wd_ecc.c +++ b/wd_ecc.c @@ -103,6 +103,7 @@ static void wd_ecc_close_driver(int init_type) #ifndef WD_STATIC_DRV if (init_type == WD_TYPE_V2) { wd_dlclose_drv(wd_ecc_setting.dlh_list); + wd_ecc_setting.dlh_list = NULL; return; } @@ -383,7 +384,6 @@ void wd_ecc_uninit2(void) wd_alg_attrs_uninit(&wd_ecc_init_attrs); wd_alg_drv_unbind(wd_ecc_setting.driver); wd_ecc_close_driver(WD_TYPE_V2); - wd_ecc_setting.dlh_list = NULL; wd_alg_clear_init(&wd_ecc_setting.status); } diff --git a/wd_join_gather.c b/wd_join_gather.c index 616d039..a845e03 100644 --- a/wd_join_gather.c +++ b/wd_join_gather.c @@ -77,6 +77,7 @@ static void wd_join_gather_close_driver(void) { #ifndef WD_STATIC_DRV wd_dlclose_drv(wd_join_gather_setting.dlh_list); + wd_join_gather_setting.dlh_list = NULL; #else wd_release_drv(wd_join_gather_setting.driver); hisi_dae_join_gather_remove(); @@ -831,7 +832,6 @@ void wd_join_gather_uninit(void) wd_alg_attrs_uninit(&wd_join_gather_init_attrs); wd_alg_drv_unbind(wd_join_gather_setting.driver); wd_join_gather_close_driver(); - wd_join_gather_setting.dlh_list = NULL; wd_alg_clear_init(&wd_join_gather_setting.status); } -- 2.33.0