break;
        }
        rtl_writephy(tp, MII_BMCR, BMCR_ANENABLE);
++
++      /* give MAC/PHY some time to resume */
++      msleep(20);
  }
  
  static void r8168_phy_power_down(struct rtl8169_private *tp)
 
  #include <linux/cred.h>
  #include <linux/timekeeping.h>
  #include <linux/ctype.h>
 +#include <linux/btf.h>
+ #include <linux/nospec.h>
  
  #define IS_FD_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PROG_ARRAY || \
                           (map)->map_type == BPF_MAP_TYPE_PERF_EVENT_ARRAY || \
 
        lock_sock(sk);
        sk_proto_close = ctx->sk_proto_close;
  
-       if (ctx->tx_conf == TLS_HW_RECORD && ctx->rx_conf == TLS_HW_RECORD)
-               goto skip_tx_cleanup;
- 
-       if (ctx->tx_conf == TLS_BASE && ctx->rx_conf == TLS_BASE) {
-               kfree(ctx);
-               ctx = NULL;
 -      if (ctx->conf == TLS_BASE || ctx->conf == TLS_HW_RECORD) {
++      if ((ctx->tx_conf == TLS_HW_RECORD && ctx->rx_conf == TLS_HW_RECORD) ||
++          (ctx->tx_conf == TLS_BASE && ctx->rx_conf == TLS_BASE)) {
+               free_ctx = true;
                goto skip_tx_cleanup;
        }
  
 
  CFLAGS += -I../../../../usr/include/
  
  TEST_PROGS := run_netsocktests run_afpackettests test_bpf.sh netdevice.sh rtnetlink.sh
- TEST_PROGS += fib_tests.sh fib-onlink-tests.sh in_netns.sh pmtu.sh udpgso.sh
 -TEST_PROGS += fib_tests.sh fib-onlink-tests.sh pmtu.sh
++TEST_PROGS += fib_tests.sh fib-onlink-tests.sh pmtu.sh udpgso.sh
 +TEST_PROGS += udpgso_bench.sh
- TEST_GEN_PROGS_EXTENDED := in_netns.sh
+ TEST_PROGS_EXTENDED := in_netns.sh
  TEST_GEN_FILES =  socket
  TEST_GEN_FILES += psock_fanout psock_tpacket msg_zerocopy
 +TEST_GEN_FILES += tcp_mmap tcp_inq
 +TEST_GEN_FILES += udpgso udpgso_bench_tx udpgso_bench_rx
  TEST_GEN_PROGS = reuseport_bpf reuseport_bpf_cpu reuseport_bpf_numa
  TEST_GEN_PROGS += reuseport_dualstack reuseaddr_conflict