net: hdlc_x25: Remove unnecessary skb_reset_network_header calls
1. In x25_xmit, skb_reset_network_header is not necessary before we call lapb_data_request. The lapb module doesn't need skb->network_header. So there is no need to set skb->network_header before calling lapb_data_request. 2. In x25_data_indication (called by the lapb module after data have been received), skb_reset_network_header is not necessary before we call netif_rx. After we call netif_rx, the code in net/core/dev.c will call skb_reset_network_header before handing the skb to upper layers (in __netif_receive_skb_core, called by __netif_receive_skb_one_core, called by __netif_receive_skb, called by process_backlog). So we don't need to call skb_reset_network_header by ourselves. Cc: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Xie He <xie.he.0141@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
016ade51a7
commit
7bdddc68cd
|
@ -77,7 +77,6 @@ static int x25_data_indication(struct net_device *dev, struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
|
|
||||||
skb_push(skb, 1);
|
skb_push(skb, 1);
|
||||||
skb_reset_network_header(skb);
|
|
||||||
|
|
||||||
ptr = skb->data;
|
ptr = skb->data;
|
||||||
*ptr = X25_IFACE_DATA;
|
*ptr = X25_IFACE_DATA;
|
||||||
|
@ -118,7 +117,6 @@ static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
switch (skb->data[0]) {
|
switch (skb->data[0]) {
|
||||||
case X25_IFACE_DATA: /* Data to be transmitted */
|
case X25_IFACE_DATA: /* Data to be transmitted */
|
||||||
skb_pull(skb, 1);
|
skb_pull(skb, 1);
|
||||||
skb_reset_network_header(skb);
|
|
||||||
if ((result = lapb_data_request(dev, skb)) != LAPB_OK)
|
if ((result = lapb_data_request(dev, skb)) != LAPB_OK)
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
Loading…
Reference in New Issue