]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - net/bridge/br_device.c
netpoll: allow cleanup to be synchronous
[mirror_ubuntu-jammy-kernel.git] / net / bridge / br_device.c
index e682a668ce57c9c0f5b4db62438a640f03d65b34..c6abf927f0c904ffc16192b418535369caeb5e67 100644 (file)
@@ -67,11 +67,11 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
        if (IS_ENABLED(CONFIG_INET) &&
            (eth->h_proto == htons(ETH_P_ARP) ||
             eth->h_proto == htons(ETH_P_RARP)) &&
-           br->neigh_suppress_enabled) {
+           br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) {
                br_do_proxy_suppress_arp(skb, br, vid, NULL);
        } else if (IS_ENABLED(CONFIG_IPV6) &&
                   skb->protocol == htons(ETH_P_IPV6) &&
-                  br->neigh_suppress_enabled &&
+                  br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
                   pskb_may_pull(skb, sizeof(struct ipv6hdr) +
                                 sizeof(struct nd_msg)) &&
                   ipv6_hdr(skb)->nexthdr == IPPROTO_ICMPV6) {
@@ -228,7 +228,7 @@ static int br_change_mtu(struct net_device *dev, int new_mtu)
        dev->mtu = new_mtu;
 
        /* this flag will be cleared if the MTU was automatically adjusted */
-       br->mtu_set_by_user = true;
+       br_opt_toggle(br, BROPT_MTU_SET_BY_USER, true);
 #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
        /* remember the MTU in the rtable for PMTU */
        dst_metric_set(&br->fake_rtable.dst, RTAX_MTU, new_mtu);
@@ -344,7 +344,7 @@ void br_netpoll_disable(struct net_bridge_port *p)
 
        p->np = NULL;
 
-       __netpoll_free_async(np);
+       __netpoll_free(np);
 }
 
 #endif