Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d9b5b5f authored by Sarannya S's avatar Sarannya S Committed by Gerrit - the friendly Code Review server
Browse files

soc: qcom: qsee_ipc_irq_bridge: Remove redundant cleanup



qiib_cleanup in qiib_driver_data_deinit is redundant since
this cleanup is already done in driver remove.

Remove qiib_cleanup in deinit and add required NULL check to
avoid any use-after-free scenario.

Change-Id: I95fa3cf91b5ca6cbaeb66d304a0572ba1d294a69
Signed-off-by: default avatarSarannya S <quic_sarannya@quicinc.com>
parent 82277130
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/cdev.h>
@@ -125,7 +126,6 @@ static int qiib_driver_data_init(void)
 */
static void qiib_driver_data_deinit(void)
{
	qiib_cleanup();
	if (!qiib_info->log_ctx)
		ipc_log_context_destroy(qiib_info->log_ctx);
	kfree(qiib_info);
@@ -433,8 +433,10 @@ static void qiib_cleanup(void)
	}
	mutex_unlock(&qiib_info->list_lock);

	if (!IS_ERR_OR_NULL(qiib_info->classp))
	if (!IS_ERR_OR_NULL(qiib_info->classp)) {
		class_destroy(qiib_info->classp);
		qiib_info->classp = NULL;
	}

	unregister_chrdev_region(MAJOR(qiib_info->dev_num), qiib_info->nports);
}