diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-09-02 13:52:23 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-02 13:52:22 -0700 |
| commit | 3fa0d6f138f6fda3bc1a1fc2ae3ed0dfb93d7518 (patch) | |
| tree | 4daeac3b46a4ab9d535abaf0225c532dcc294e0c | |
| parent | 0e34d5ec1c7a0f7b82451fea9d2db30bf2d852b4 (diff) | |
| parent | f0644715361abf12f4387084c1fe0f76a0c640ee (diff) | |
Merge "diag: Add error handler to free buffers when fwd fails"
| -rw-r--r-- | drivers/char/diag/diagfwd_mhi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/char/diag/diagfwd_mhi.c b/drivers/char/diag/diagfwd_mhi.c index b8ed216faaf6..f7b1e98f22b0 100644 --- a/drivers/char/diag/diagfwd_mhi.c +++ b/drivers/char/diag/diagfwd_mhi.c @@ -404,8 +404,11 @@ static void mhi_read_done_work_fn(struct work_struct *work) * buffers here and do not forward them to the mux layer. */ if ((atomic_read(&(mhi_info->read_ch.opened)))) { - diag_remote_dev_read_done(mhi_info->dev_id, buf, + err = diag_remote_dev_read_done(mhi_info->dev_id, buf, result.bytes_xferd); + if (err) + mhi_buf_tbl_remove(mhi_info, TYPE_MHI_READ_CH, + buf, result.bytes_xferd); } else { mhi_buf_tbl_remove(mhi_info, TYPE_MHI_READ_CH, buf, result.bytes_xferd); |
