struct gve_device_descriptor *descriptor)
 {
        priv->tx_desc_cnt = be16_to_cpu(descriptor->tx_queue_entries);
-       if (priv->tx_desc_cnt * sizeof(priv->tx->desc[0]) < PAGE_SIZE) {
-               dev_err(&priv->pdev->dev, "Tx desc count %d too low\n",
-                       priv->tx_desc_cnt);
-               return -EINVAL;
-       }
        priv->rx_desc_cnt = be16_to_cpu(descriptor->rx_queue_entries);
-       if (priv->rx_desc_cnt * sizeof(priv->rx->desc.desc_ring[0])
-           < PAGE_SIZE) {
-               dev_err(&priv->pdev->dev, "Rx desc count %d too low\n",
-                       priv->rx_desc_cnt);
-               return -EINVAL;
-       }
        return 0;
 }
 
 
 {
        struct gve_rx_ring *rx = &priv->rx[idx];
        struct device *hdev = &priv->pdev->dev;
-       u32 slots, npages;
        int filled_pages;
        size_t bytes;
+       u32 slots;
        int err;
 
        netif_dbg(priv, drv, priv->dev, "allocating rx ring\n");
 
        /* alloc rx desc ring */
        bytes = sizeof(struct gve_rx_desc) * priv->rx_desc_cnt;
-       npages = bytes / PAGE_SIZE;
-       if (npages * PAGE_SIZE != bytes) {
-               err = -EIO;
-               goto abort_with_q_resources;
-       }
-
        rx->desc.desc_ring = dma_alloc_coherent(hdev, bytes, &rx->desc.bus,
                                                GFP_KERNEL);
        if (!rx->desc.desc_ring) {