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/+/7621
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