diff --git a/third_party/linux/patches/lacp_fix.patch b/third_party/linux/patches/lacp_fix.patch
index b1eecfb..722c25b 100644
--- a/third_party/linux/patches/lacp_fix.patch
+++ b/third_party/linux/patches/lacp_fix.patch
@@ -1,4 +1,4 @@
-From dd369885e1c0e3a6eff97db6acc5c765ee5dd421 Mon Sep 17 00:00:00 2001
+From faa5b0ac734399a5dd4458545484d22b2234c184 Mon Sep 17 00:00:00 2001
 From: Lorenz Brun <lorenz@monogon.tech>
 Date: Thu, 2 May 2024 10:17:14 +0200
 Subject: [PATCH] bonding: 3ad: fix carrier and tx with no active ports
@@ -13,10 +13,10 @@
  1 file changed, 21 insertions(+), 18 deletions(-)
 
 diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
-index c99ffe6c683a..a310c27ea659 100644
+index c6807e473ab7..27dc5f2f8cf1 100644
 --- a/drivers/net/bonding/bond_3ad.c
 +++ b/drivers/net/bonding/bond_3ad.c
-@@ -699,6 +699,22 @@ static int __agg_active_ports(struct aggregator *agg)
+@@ -746,6 +746,22 @@ static int __agg_active_ports(struct aggregator *agg)
  	return active;
  }
  
@@ -29,7 +29,7 @@
 +
 +	for (port = agg->lag_ports; port;
 +	     port = port->next_port_in_aggregator) {
-+		if (__port_is_enabled(port))
++		if (__port_is_collecting_distributing(port))
 +			en_count++;
 +	}
 +
@@ -39,7 +39,7 @@
  /**
   * __get_agg_bandwidth - get the total bandwidth of an aggregator
   * @aggregator: the aggregator we're looking at
-@@ -1086,6 +1102,8 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
+@@ -1186,6 +1202,8 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
  			break;
  		}
  	}
@@ -48,7 +48,7 @@
  }
  
  /**
-@@ -1780,21 +1798,6 @@ static void ad_agg_selection_logic(struct aggregator *agg,
+@@ -1880,21 +1898,6 @@ static void ad_agg_selection_logic(struct aggregator *agg,
  		*update_slave_arr = true;
  	}
  
@@ -70,7 +70,7 @@
  	rcu_read_unlock();
  
  	bond_3ad_set_carrier(bond);
-@@ -1852,7 +1855,7 @@ static void ad_initialize_port(struct port *port, int lacp_fast)
+@@ -1952,7 +1955,7 @@ static void ad_initialize_port(struct port *port, int lacp_fast)
  		.key             = 1,
  		.port_number     = 1,
  		.port_priority   = 0xff,
@@ -79,7 +79,7 @@
  	};
  	static const struct lacpdu lacpdu = {
  		.subtype		= 0x01,
-@@ -1994,7 +1997,7 @@ static void ad_marker_response_received(struct bond_marker *marker,
+@@ -2129,7 +2132,7 @@ static void ad_marker_response_received(struct bond_marker *marker,
  /* ========= AD exported functions to the main bonding code ========= */
  
  /* Check aggregators status in team every T seconds */
@@ -88,7 +88,7 @@
  
  /**
   * bond_3ad_initiate_agg_selection - initate aggregator selection
-@@ -2619,7 +2622,7 @@ int bond_3ad_set_carrier(struct bonding *bond)
+@@ -2754,7 +2757,7 @@ int bond_3ad_set_carrier(struct bonding *bond)
  	active = __get_active_agg(&(SLAVE_AD_INFO(first_slave)->aggregator));
  	if (active) {
  		/* are enough slaves available to consider link up? */
@@ -98,5 +98,5 @@
  				netif_carrier_off(bond->dev);
  				goto out;
 -- 
-2.42.0
+2.47.2
 
