req->flags = cpu_to_le32(VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT);
        req->enables = cpu_to_le32(VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID);
 
-       if (BNXT_RX_PAGE_MODE(bp) && !BNXT_RX_JUMBO_MODE(bp)) {
+       if (BNXT_RX_PAGE_MODE(bp)) {
+               req->jumbo_thresh = cpu_to_le16(bp->rx_buf_use_size);
+       } else {
                req->flags |= cpu_to_le32(VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4 |
                                          VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6);
                req->enables |=
                        cpu_to_le32(VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID);
+               req->jumbo_thresh = cpu_to_le16(bp->rx_copy_thresh);
+               req->hds_threshold = cpu_to_le16(bp->rx_copy_thresh);
        }
-       /* thresholds not implemented in firmware yet */
-       req->jumbo_thresh = cpu_to_le16(bp->rx_copy_thresh);
-       req->hds_threshold = cpu_to_le16(bp->rx_copy_thresh);
        req->vnic_id = cpu_to_le32(vnic->fw_vnic_id);
        return hwrm_req_send(bp, req);
 }