workspace: update linux to 6.12.15
Switch to the current 6.12 LTS branch and rebase the patches.
Also switch to using savedefconfig for config instead of just including
the entire thing. This makes it much more readable as it only contains
settings we've touched.
Change-Id: I2b15944f0083399290a2539c42e37205e839bf36
Reviewed-on: https://review.monogon.dev/c/monogon/+/3908
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
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