X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fpatches-4.4%2F910-unaligned_access_hacks.patch;h=7858abc64b46c8ba8aaa4174616ab7dc2974e2e8;hp=e7df08b0d23ba7b659e9d27611eacccf1e59b320;hb=bed0ee7cbfaa50f1db75089ba3c6c2d602777e25;hpb=0dcc4d239da78bc20b091d50c097c386e0e61902 diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch index e7df08b0d2..7858abc64b 100644 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch @@ -214,7 +214,7 @@ #include #include #include -@@ -781,10 +782,10 @@ static void tcp_v6_send_response(const s +@@ -786,10 +787,10 @@ static void tcp_v6_send_response(const s topt = (__be32 *)(t1 + 1); if (tsecr) { @@ -241,7 +241,7 @@ */ --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c -@@ -429,7 +429,7 @@ int ipv6_recv_error(struct sock *sk, str +@@ -433,7 +433,7 @@ int ipv6_recv_error(struct sock *sk, str ipv6_iface_scope_id(&sin->sin6_addr, IP6CB(skb)->iif); } else { @@ -250,7 +250,7 @@ &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -766,12 +766,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -770,12 +770,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { @@ -276,7 +276,7 @@ t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, key, greh->protocol); -@@ -479,11 +479,11 @@ static int ip6gre_rcv(struct sk_buff *sk +@@ -482,11 +482,11 @@ static int ip6gre_rcv(struct sk_buff *sk offset += 4; } if (flags&GRE_KEY) { @@ -290,7 +290,7 @@ offset += 4; } } -@@ -745,7 +745,7 @@ static netdev_tx_t ip6gre_xmit2(struct s +@@ -748,7 +748,7 @@ static netdev_tx_t ip6gre_xmit2(struct s if (tunnel->parms.o_flags&GRE_SEQ) { ++tunnel->o_seqno; @@ -299,7 +299,7 @@ ptr--; } if (tunnel->parms.o_flags&GRE_KEY) { -@@ -841,7 +841,7 @@ static inline int ip6gre_xmit_ipv6(struc +@@ -844,7 +844,7 @@ static inline int ip6gre_xmit_ipv6(struc dsfield = ipv6_get_dsfield(ipv6h); if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) @@ -310,7 +310,7 @@ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -1407,7 +1407,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1307,7 +1307,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str dsfield = ipv6_get_dsfield(ipv6h); if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) @@ -359,7 +359,7 @@ for (p = *head; p; p = p->next) { --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -458,7 +458,7 @@ static struct neighbour *ipv4_neigh_look +@@ -461,7 +461,7 @@ static struct neighbour *ipv4_neigh_look else if (skb) pkey = &ip_hdr(skb)->daddr; @@ -491,7 +491,7 @@ memcpy(p, foc->val, foc->len); --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c -@@ -505,7 +505,7 @@ static struct sk_buff *add_grec(struct s +@@ -533,7 +533,7 @@ static struct sk_buff *add_grec(struct s if (!skb) return NULL; psrc = (__be32 *)skb_put(skb, sizeof(__be32)); @@ -610,7 +610,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -222,7 +222,7 @@ static struct sk_buff **ipv6_gro_receive +@@ -225,7 +225,7 @@ static struct sk_buff **ipv6_gro_receive continue; iph2 = (struct ipv6hdr *)(p->data + off); @@ -621,7 +621,7 @@ * XXX skbs on the gro_list have all been parsed and pulled --- a/include/net/addrconf.h +++ b/include/net/addrconf.h -@@ -43,7 +43,7 @@ struct prefix_info { +@@ -45,7 +45,7 @@ struct prefix_info { __be32 reserved2; struct in6_addr prefix; @@ -664,7 +664,7 @@ #define IP6_MF 0x0001 #define IP6_OFFSET 0xFFF8 -@@ -417,8 +417,8 @@ static inline void __ipv6_addr_set_half( +@@ -418,8 +418,8 @@ static inline void __ipv6_addr_set_half( } #endif #endif @@ -675,7 +675,7 @@ } static inline void ipv6_addr_set(struct in6_addr *addr, -@@ -477,6 +477,8 @@ static inline bool ipv6_prefix_equal(con +@@ -478,6 +478,8 @@ static inline bool ipv6_prefix_equal(con const __be32 *a1 = addr1->s6_addr32; const __be32 *a2 = addr2->s6_addr32; unsigned int pdw, pbi; @@ -684,7 +684,7 @@ /* check complete u32 in prefix */ pdw = prefixlen >> 5; -@@ -485,7 +487,9 @@ static inline bool ipv6_prefix_equal(con +@@ -486,7 +488,9 @@ static inline bool ipv6_prefix_equal(con /* check incomplete u32 in prefix */ pbi = prefixlen & 0x1f; @@ -695,7 +695,7 @@ return false; return true; -@@ -629,13 +633,13 @@ static inline void ipv6_addr_set_v4mappe +@@ -630,13 +634,13 @@ static inline void ipv6_addr_set_v4mappe */ static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen) { @@ -711,7 +711,7 @@ if (xb) return i * 32 + 31 - __fls(ntohl(xb)); } -@@ -799,17 +803,18 @@ static inline int ip6_default_np_autolab +@@ -805,17 +809,18 @@ static inline int ip6_default_np_autolab static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, __be32 flowlabel) {