gve_set_itr_coalesce_usecs_dqo(priv, block,
                                                       priv->tx_coalesce_usecs);
                }
+
+               /* Any descs written by the NIC before this barrier will be
+                * handled by the one-off napi schedule below. Whereas any
+                * descs after the barrier will generate interrupts.
+                */
+               mb();
+               napi_schedule(&block->napi);
        }
        for (idx = 0; idx < priv->rx_cfg.num_queues; idx++) {
                int ntfy_idx = gve_rx_idx_to_ntfy(priv, idx);
                        gve_set_itr_coalesce_usecs_dqo(priv, block,
                                                       priv->rx_coalesce_usecs);
                }
+
+               /* Any descs written by the NIC before this barrier will be
+                * handled by the one-off napi schedule below. Whereas any
+                * descs after the barrier will generate interrupts.
+                */
+               mb();
+               napi_schedule(&block->napi);
        }
 
        gve_set_napi_enabled(priv);