qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx,			   struct sk_buff *skb, struct qeth_hdr *qhdr){	struct qeth_eddp_data *eddp = NULL;	QETH_DBF_TEXT(trace, 5, "eddpficx");	/* create our segmentation headers and copy original headers */	if (skb->protocol == ETH_P_IP)		eddp = qeth_eddp_create_eddp_data(qhdr, (u8 *)skb->nh.iph,				skb->nh.iph->ihl*4,				(u8 *)skb->h.th, skb->h.th->doff*4);	else		eddp = qeth_eddp_create_eddp_data(qhdr, (u8 *)skb->nh.ipv6h,				sizeof(struct ipv6hdr),				(u8 *)skb->h.th, skb->h.th->doff*4);	if (eddp == NULL) {		QETH_DBF_TEXT(trace, 2, "eddpfcnm");		return -ENOMEM;	}	if (qhdr->hdr.l2.id == QETH_HEADER_TYPE_LAYER2) {		memcpy(&eddp->mac, eth_hdr(skb), ETH_HLEN);#ifdef CONFIG_QETH_VLAN		if (eddp->mac.h_proto == __constant_htons(ETH_P_8021Q)) {			eddp->vlan[0] = __constant_htons(skb->protocol);			eddp->vlan[1] = htons(vlan_tx_tag_get(skb));		}#endif /* CONFIG_QETH_VLAN */	}	/* the next flags will only be set on the last segment */	eddp->th.tcp.h.fin = 0;	eddp->th.tcp.h.psh = 0;	eddp->skb = skb;	/* begin segmentation and fill context */	__qeth_eddp_fill_context_tcp(ctx, eddp);	kfree(eddp);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/05e08a2a297371564020f76d1bf8b3a931d5e1ed/qeth_eddp.c/buggy/drivers/s390/net/qeth_eddp.c