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

Commit a10ad25d authored by Ravi Gummadidala's avatar Ravi Gummadidala
Browse files

msm: ipa: remove delay in out of buffer recovery procedure



When a RX pipe runs out of buffers, a delayed work is scheduled
to re-attempt the replenish process but the single threaded
workqueue will not process that work till the existing work is
retired. The existing work will be retired after sufficient
inacvitivty is detected but in this corner-case, we can do this
immediately since no further packets will be received.

Change-Id: I23ca50e195c2eeb47db0dcfb39ae5491d38372d9
Signed-off-by: default avatarRavi Gummadidala <rgummadi@codeaurora.org>
parent 848b312e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -861,6 +861,14 @@ static void ipa_handle_rx(struct ipa_sys_context *sys)
		} else {
			inactive_cycles = 0;
		}

		/* if pipe is out of buffers there is no point polling for
		 * completed descs; release the worker so delayed work can
		 * run in a timely manner
		 */
		if (sys->len == 0)
			break;

	} while (inactive_cycles <= POLLING_INACTIVITY_RX);

	ipa_rx_switch_to_intr_mode(sys);