--- linux-2.6.22.14/net/sched/sch_sfq.c 2008-01-22 13:57:01.000000000 +0200 +++ linux/net/sched/sch_sfq.c 2008-01-15 10:57:01.000000000 +0200 @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -148,7 +149,7 @@ static unsigned sfq_hash(struct sfq_sche iph->protocol == IPPROTO_SCTP || iph->protocol == IPPROTO_DCCP || iph->protocol == IPPROTO_ESP)) - h2 ^= *(((u32*)iph) + iph->ihl); + h2 ^= get_unaligned(((u32*)iph) + iph->ihl); break; } case __constant_htons(ETH_P_IPV6): @@ -162,7 +163,7 @@ static unsigned sfq_hash(struct sfq_sche iph->nexthdr == IPPROTO_SCTP || iph->nexthdr == IPPROTO_DCCP || iph->nexthdr == IPPROTO_ESP) - h2 ^= *(u32*)&iph[1]; + h2 ^= get_unaligned((u32*)&iph[1]); break; } default: