kmod-sched-cake: don't gso fixup on fixed kernels
[openwrt/openwrt.git] / package / kernel / kmod-sched-cake / patches / 100-remove-skb-max-fix-on-fixed-kernels.patch
1 --- a/sch_cake.c
2 +++ b/sch_cake.c
3 @@ -1799,13 +1799,18 @@ static s32 cake_enqueue(struct sk_buff *
4 cobalt_set_enqueue_time(segs, now);
5 get_cobalt_cb(segs)->adjusted_len = cake_overhead(q,
6 segs);
7 -
8 +#if !((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 124) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)) || \
9 + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 159) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)) || \
10 + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 130) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) || \
11 + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 73) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)) || \
12 + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 11)))
13 /* For encapsulated packets, the mac_len may not be set
14 * correctly after GSO split. Fix this by resetting it;
15 * if skb_gso_segment() already does this correctly,
16 * this is will just recalculate the current value.
17 */
18 skb_reset_mac_len(skb);
19 +#endif
20
21 flow_queue_add(flow, segs);
22