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;
|
u32 chan;
|
||||||
struct mhi_device_ctxt *ctxt;
|
struct mhi_device_ctxt *ctxt;
|
||||||
|
int bb_ring, ch_ring;
|
||||||
|
|
||||||
if (!client_handle || MHI_HANDLE_MAGIC != client_handle->magic ||
|
if (!client_handle || MHI_HANDLE_MAGIC != client_handle->magic ||
|
||||||
!client_handle->mhi_dev_ctxt)
|
!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;
|
ctxt = client_handle->mhi_dev_ctxt;
|
||||||
chan = client_handle->chan_info.chan_nr;
|
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);
|
EXPORT_SYMBOL(mhi_get_free_desc);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue