Merge "diag: Free the read workqueue structure to avoid memory leak"
This commit is contained in:
commit
96e98ab9bb
1 changed files with 5 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue