msm: mhi: Check bb ring and transfer ring when checking for space
When checking for available spaces, check available spaces on both bounce buffer ring and transfer ring and return min. Change-Id: I9208b46c32821de3f5d9e3d828087d7bc29b9546 CRs-Fixed: 1055681 Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
This commit is contained in:
parent
3d25629c67
commit
0f889f7e46
1 changed files with 5 additions and 1 deletions
|
@ -114,6 +114,7 @@ int mhi_get_free_desc(struct mhi_client_handle *client_handle)
|
|||
{
|
||||
u32 chan;
|
||||
struct mhi_device_ctxt *ctxt;
|
||||
int bb_ring, ch_ring;
|
||||
|
||||
if (!client_handle || MHI_HANDLE_MAGIC != client_handle->magic ||
|
||||
!client_handle->mhi_dev_ctxt)
|
||||
|
@ -121,7 +122,10 @@ int mhi_get_free_desc(struct mhi_client_handle *client_handle)
|
|||
ctxt = client_handle->mhi_dev_ctxt;
|
||||
chan = client_handle->chan_info.chan_nr;
|
||||
|
||||
return get_nr_avail_ring_elements(&ctxt->mhi_local_chan_ctxt[chan]);
|
||||
bb_ring = get_nr_avail_ring_elements(&ctxt->chan_bb_list[chan]);
|
||||
ch_ring = get_nr_avail_ring_elements(&ctxt->mhi_local_chan_ctxt[chan]);
|
||||
|
||||
return min(bb_ring, ch_ring);
|
||||
}
|
||||
EXPORT_SYMBOL(mhi_get_free_desc);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue