On Wed, 23 Sep 2020 18:01:04 -0700 David Awogbemila wrote: > + info->skb = skb;
double space > + addr = dma_map_single(tx->dev, skb->data, len, DMA_TO_DEVICE); > + if (unlikely(dma_mapping_error(tx->dev, addr))) { > + priv->dma_mapping_error++; > + goto drop; > + } > + buf = &info->buf; > + dma_unmap_len_set(buf, len, len); > + dma_unmap_addr_set(buf, dma, addr); > + > + payload_nfrags = shinfo->nr_frags; > + if (hlen < len) { > + /* For gso the rest of the linear portion of the skb needs to > + * be in its own descriptor. > + */ > + payload_nfrags++; > + gve_tx_fill_pkt_desc(pkt_desc, skb, is_gso, l4_hdr_offset, > + 1 + payload_nfrags, hlen, addr); This.. > + len -= hlen; > + addr += hlen; > + seg_desc = &tx->desc[(tx->req + 1) & tx->mask]; > + seg_idx_bias = 2; > + gve_tx_fill_seg_desc(seg_desc, skb, is_gso, len, addr); > + } else { > + seg_idx_bias = 1; > + gve_tx_fill_pkt_desc(pkt_desc, skb, is_gso, l4_hdr_offset, > + 1 + payload_nfrags, hlen, addr); and this look identical. You can probably move it before the if. Otherwise this one is: Reviewed-by: Jakub Kicinski <k...@kernel.org>