diff options
author | Meghana Barkalle <mbarkalle@google.com> | 2023-05-23 19:06:56 +0000 |
---|---|---|
committer | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2023-12-13 16:36:31 +0000 |
commit | 6ecc790fc1dd27005491b475dc01415e51c366b8 (patch) | |
tree | 69bbec1fbcee29c00fe398124eede8d78e2713e6 | |
parent | da3907588d3fef7b0434354b4de00d5fdf85d720 (diff) | |
download | lwis-6ecc790fc1dd27005491b475dc01415e51c366b8.tar.gz |
LWIS: Fix the processing end limit for transactions
Fix end limit for transactions where the limit
for processing entries per run is defined.
Bug: 299130975
Test: GCA Smoke Test
Change-Id: I287b7efd5f9ad77fe830ea43dd6a6f73b6323ef7
(cherry picked from commit 0765009540d3f04be4450451d24e8f3169f92ec8)
Signed-off-by: Meghana Barkalle <mbarkalle@google.com>
-rw-r--r-- | lwis_transaction.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lwis_transaction.c b/lwis_transaction.c index 8bc39b0..f10bde9 100644 --- a/lwis_transaction.c +++ b/lwis_transaction.c @@ -181,6 +181,7 @@ static int process_transaction(struct lwis_client *client, struct lwis_transacti int remaining_entries_to_be_processed = transaction->remaining_entries_to_process; int number_of_entries_to_process_in_current_run = 0; int processing_start_index = 0; + int processing_end_index = 0; /* * Process all the transactions at once if: @@ -200,8 +201,9 @@ static int process_transaction(struct lwis_client *client, struct lwis_transacti max_transaction_entry_limit : remaining_entries_to_be_processed; processing_start_index = total_number_of_entries - remaining_entries_to_be_processed; + processing_end_index = processing_start_index + number_of_entries_to_process_in_current_run; remaining_entries_to_be_processed = - remaining_entries_to_be_processed - max_transaction_entry_limit; + remaining_entries_to_be_processed - number_of_entries_to_process_in_current_run; if (lwis_transaction_debug) { process_timestamp = ktime_to_ns(lwis_get_time()); @@ -219,7 +221,7 @@ static int process_transaction(struct lwis_client *client, struct lwis_transacti /*use_write_barrier=*/true); } lwis_i2c_bus_manager_lock_i2c_bus(lwis_dev); - for (i = processing_start_index; i < number_of_entries_to_process_in_current_run; ++i) { + for (i = processing_start_index; i < processing_end_index; ++i) { entry = &info->io_entries[i]; if (entry->type == LWIS_IO_ENTRY_WRITE || entry->type == LWIS_IO_ENTRY_WRITE_BATCH || |