mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[SK_BUFF]: Introduce skb_transport_header(skb)
For the places where we need a pointer to the transport header, it is still legal to touch skb->h.raw directly if just adding to, subtracting from or setting it to another layer header. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
a27ef749e7
commit
9c70220b73
42 changed files with 129 additions and 102 deletions
|
|
@ -917,6 +917,7 @@ static int ltpc_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
|
||||
int i;
|
||||
struct lt_sendlap cbuf;
|
||||
unsigned char *hdr;
|
||||
|
||||
cbuf.command = LT_SENDLAP;
|
||||
cbuf.dnode = skb->data[0];
|
||||
|
|
@ -932,11 +933,13 @@ static int ltpc_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
printk("\n");
|
||||
}
|
||||
|
||||
do_write(dev,&cbuf,sizeof(cbuf),skb->h.raw,skb->len);
|
||||
hdr = skb_transport_header(skb);
|
||||
do_write(dev, &cbuf, sizeof(cbuf), hdr, skb->len);
|
||||
|
||||
if(debug & DEBUG_UPPER) {
|
||||
printk("sent %d ddp bytes\n",skb->len);
|
||||
for(i=0;i<skb->len;i++) printk("%02x ",skb->h.raw[i]);
|
||||
for (i = 0; i < skb->len; i++)
|
||||
printk("%02x ", hdr[i]);
|
||||
printk("\n");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1324,12 +1324,14 @@ static void write_ofld_wr(struct adapter *adap, struct sk_buff *skb,
|
|||
|
||||
flits = skb_transport_offset(skb) / 8;
|
||||
sgp = ndesc == 1 ? (struct sg_ent *)&d->flit[flits] : sgl;
|
||||
sgl_flits = make_sgl(skb, sgp, skb->h.raw, skb->tail - skb->h.raw,
|
||||
sgl_flits = make_sgl(skb, sgp, skb_transport_header(skb),
|
||||
skb->tail - skb_transport_header(skb),
|
||||
adap->pdev);
|
||||
if (need_skb_unmap()) {
|
||||
setup_deferred_unmapping(skb, adap->pdev, sgp, sgl_flits);
|
||||
skb->destructor = deferred_unmap_destructor;
|
||||
((struct unmap_info *)skb->cb)->len = skb->tail - skb->h.raw;
|
||||
((struct unmap_info *)skb->cb)->len = (skb->tail -
|
||||
skb_transport_header(skb));
|
||||
}
|
||||
|
||||
write_wr_hdr_sgl(ndesc, skb, d, pidx, q, sgl, flits, sgl_flits,
|
||||
|
|
@ -1351,7 +1353,7 @@ static inline unsigned int calc_tx_descs_ofld(const struct sk_buff *skb)
|
|||
return 1; /* packet fits as immediate data */
|
||||
|
||||
flits = skb_transport_offset(skb) / 8; /* headers */
|
||||
if (skb->tail != skb->h.raw)
|
||||
if (skb->tail != skb_transport_header(skb))
|
||||
cnt++;
|
||||
return flits_to_desc(flits + sgl_len(cnt));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue