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

Commit 27cfb8c6 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "diag: Free the read workqueue structure to avoid memory leak"

parents 91d48290 0eac6265
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -375,8 +375,10 @@ static void diag_glink_notify_rx_work_fn(struct work_struct *work)
			struct diag_glink_read_work, work);
	struct diag_glink_info *glink_info = read_work->glink_info;

	if (!glink_info || !glink_info->hdl)
	if (!glink_info || !glink_info->hdl) {
		kfree(read_work);
		return;
	}

	diagfwd_channel_read_done(glink_info->fwd_ctxt,
			(unsigned char *)(read_work->ptr_read_done),
@@ -388,6 +390,7 @@ static void diag_glink_notify_rx_work_fn(struct work_struct *work)
		"diag: Rx done for packet %pK of len: %d periph: %d ch: %d\n",
		read_work->ptr_rx_done, (int)read_work->ptr_read_size,
		glink_info->peripheral, glink_info->type);
	kfree(read_work);
}

static void diag_glink_notify_rx(void *hdl, const void *priv,
@@ -411,6 +414,7 @@ static void diag_glink_notify_rx(void *hdl, const void *priv,
	if (!read_work) {
		DIAG_LOG(DIAG_DEBUG_PERIPHERALS,
			"diag: Could not allocate read_work\n");
		glink_rx_done(glink_info->hdl, ptr, true);
		return;
	}