commit | 5089479740c21051db6facb874e9fea52016efbc | [log] [tgz] |
---|---|---|
author | Yangchun Fu <yangchun@google.com> | Mon Jun 15 13:32:50 2020 +0000 |
committer | Vaibhav Rustagi <vaibhavrustagi@google.com> | Fri Oct 16 20:38:20 2020 +0000 |
tree | 3970ab827a4ed1e80d307640cad883a786b9ce99 | |
parent | 12dc5bfefe82c7370766859fb490faa26ec76f42 [diff] |
gve: Clear can_flip flag after flip the buffer. Otherwise, we may flip the buffer which we shouldn't if the descriptor is dropped. BUG=b/171000160 Change-Id: I3e9c376d24203d7cd701a9f1e93e6021ea49db51 Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/2141 Reviewed-by: Roy Yang <royyang@google.com> Reviewed-by: Yangchun Fu <yangchun@google.com> (cherry picked from commit c63c54a7d9efc61d38c5f4e201ebf81f34cb08e2) Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/7620 Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/drivers/net/ethernet/google/gve/gve_rx.c b/drivers/net/ethernet/google/gve/gve_rx.c index c5b8195..4aac734 100644 --- a/drivers/net/ethernet/google/gve/gve_rx.c +++ b/drivers/net/ethernet/google/gve/gve_rx.c
@@ -560,6 +560,7 @@ static bool gve_rx_refill_buffers(struct gve_priv *priv, struct gve_rx_ring *rx) &rx->data.data_ring[idx]; gve_rx_flip_buffer(page_info, data_slot); + page_info->can_flip = false; } else { /* It is possible that the networking stack has already * finished processing all outstanding packets in the buffer