Bluetooth: Add basic constants for L2CAP ERTM support and use them
[pandora-kernel.git] / include / net / inet6_hashtables.h
index 995efbb..22c73a7 100644 (file)
@@ -96,10 +96,14 @@ static inline struct sock *__inet6_lookup_skb(struct inet_hashinfo *hashinfo,
                                              const __be16 sport,
                                              const __be16 dport)
 {
-       return __inet6_lookup(dev_net(skb->dst->dev), hashinfo,
-                             &ipv6_hdr(skb)->saddr, sport,
-                             &ipv6_hdr(skb)->daddr, ntohs(dport),
-                             inet6_iif(skb));
+       struct sock *sk;
+
+       if (unlikely(sk = skb_steal_sock(skb)))
+               return sk;
+       else return __inet6_lookup(dev_net(skb_dst(skb)->dev), hashinfo,
+                                  &ipv6_hdr(skb)->saddr, sport,
+                                  &ipv6_hdr(skb)->daddr, ntohs(dport),
+                                  inet6_iif(skb));
 }
 
 extern struct sock *inet6_lookup(struct net *net, struct inet_hashinfo *hashinfo,