| IXGB_CONTEXT_DESC_CMD_RS 
ixgb_tso(struct ixgb_adapter *adapter, struct sk_buff *skb){#ifdef NETIF_F_TSO	struct ixgb_context_desc *context_desc;	unsigned int i;	uint8_t ipcss, ipcso, tucss, tucso, hdr_len;	uint16_t ipcse, tucse, mss;	int err;	if(likely(skb_shinfo(skb)->tso_size)) {		if (skb_header_cloned(skb)) {			err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);			if (err)				return err;		}		hdr_len = ((skb->h.raw - skb->data) + (skb->h.th->doff << 2));		mss = skb_shinfo(skb)->tso_size;		skb->nh.iph->tot_len = 0;		skb->nh.iph->check = 0;		skb->h.th->check = ~csum_tcpudp_magic(skb->nh.iph->saddr,						      skb->nh.iph->daddr,						      0, IPPROTO_TCP, 0);		ipcss = skb->nh.raw - skb->data;		ipcso = (void *)&(skb->nh.iph->check) - (void *)skb->data;		ipcse = skb->h.raw - skb->data - 1;		tucss = skb->h.raw - skb->data;		tucso = (void *)&(skb->h.th->check) - (void *)skb->data;		tucse = 0;		i = adapter->tx_ring.next_to_use;		context_desc = IXGB_CONTEXT_DESC(adapter->tx_ring, i);		context_desc->ipcss = ipcss;		context_desc->ipcso = ipcso;		context_desc->ipcse = cpu_to_le16(ipcse);		context_desc->tucss = tucss;		context_desc->tucso = tucso;		context_desc->tucse = cpu_to_le16(tucse);		context_desc->mss = cpu_to_le16(mss);		context_desc->hdr_len = hdr_len;		context_desc->status = 0;		context_desc->cmd_type_len = cpu_to_le32(						  IXGB_CONTEXT_DESC_TYPE 						| IXGB_CONTEXT_DESC_CMD_TSE						| IXGB_CONTEXT_DESC_CMD_IP						| IXGB_CONTEXT_DESC_CMD_TCP						| IXGB_CONTEXT_DESC_CMD_RS						| IXGB_CONTEXT_DESC_CMD_IDE						| (skb->len - (hdr_len)));		if(++i == adapter->tx_ring.count) i = 0;		adapter->tx_ring.next_to_use = i;		return 1;	}#endif	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/06c2f9ecb5b53f9d4fc1ef596da16683cc4af5ba/ixgb_main.c/buggy/drivers/net/ixgb/ixgb_main.c