diff options
Diffstat (limited to 'include/net/ip.h')
-rw-r--r-- | include/net/ip.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 5e80fb438..c078484c3 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -83,7 +83,6 @@ extern int ip_mc_procinfo(char *, char **, off_t, int, int); * Functions provided by ip.c */ -extern int ip_ioctl(struct sock *sk, int cmd, unsigned long arg); extern void ip_build_and_send_pkt(struct sk_buff *skb, struct sock *sk, u32 saddr, u32 daddr, struct ip_options *opt); @@ -147,10 +146,10 @@ extern __inline__ int ip_finish_output(struct sk_buff *skb) skb->protocol = __constant_htons(ETH_P_IP); if (hh) { - read_lock_irq(&hh->hh_lock); + read_lock_bh(&hh->hh_lock); memcpy(skb->data - 16, hh->hh_data, 16); - read_unlock_irq(&hh->hh_lock); - skb_push(skb, dev->hard_header_len); + read_unlock_bh(&hh->hh_lock); + skb_push(skb, hh->hh_len); return hh->hh_output(skb); } else if (dst->neighbour) return dst->neighbour->output(skb); |