Loading drivers/platform/msm/ipa/ipa_v3/ipa_dp.c +9 −0 Original line number Diff line number Diff line Loading @@ -1047,6 +1047,15 @@ static void ipa3_handle_rx(struct ipa3_sys_context *sys) trace_idle_sleep_enter3(sys->ep->client); usleep_range(POLLING_MIN_SLEEP_RX, POLLING_MAX_SLEEP_RX); trace_idle_sleep_exit3(sys->ep->client); /* * 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 - sys->len_pending_xfer == 0) break; } while (inactive_cycles <= POLLING_INACTIVITY_RX); trace_poll_to_intr3(sys->ep->client); Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_dp.c +9 −0 Original line number Diff line number Diff line Loading @@ -1047,6 +1047,15 @@ static void ipa3_handle_rx(struct ipa3_sys_context *sys) trace_idle_sleep_enter3(sys->ep->client); usleep_range(POLLING_MIN_SLEEP_RX, POLLING_MAX_SLEEP_RX); trace_idle_sleep_exit3(sys->ep->client); /* * 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 - sys->len_pending_xfer == 0) break; } while (inactive_cycles <= POLLING_INACTIVITY_RX); trace_poll_to_intr3(sys->ep->client); Loading