From: Sasha Levin Date: Fri, 13 Sep 2024 23:37:07 +0000 (-0400) Subject: Fixes for 5.10 X-Git-Tag: v6.1.111~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c0469c03240aa6d47866c9d1e699d1e44ebef783;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.10 Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/fou-fix-initialization-of-grc.patch b/queue-5.10/fou-fix-initialization-of-grc.patch new file mode 100644 index 00000000000..c2325aa23d1 --- /dev/null +++ b/queue-5.10/fou-fix-initialization-of-grc.patch @@ -0,0 +1,44 @@ +From efbaea72d207137b57b941270e1c761b497e1a8b Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 6 Sep 2024 15:28:39 +0500 +Subject: fou: fix initialization of grc + +From: Muhammad Usama Anjum + +[ Upstream commit 4c8002277167125078e6b9b90137bdf443ebaa08 ] + +The grc must be initialize first. There can be a condition where if +fou is NULL, goto out will be executed and grc would be used +uninitialized. + +Fixes: 7e4196935069 ("fou: Fix null-ptr-deref in GRO.") +Signed-off-by: Muhammad Usama Anjum +Reviewed-by: Kuniyuki Iwashima +Link: https://patch.msgid.link/20240906102839.202798-1-usama.anjum@collabora.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + net/ipv4/fou.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c +index 135da756dd5a..1d67df4d8ed6 100644 +--- a/net/ipv4/fou.c ++++ b/net/ipv4/fou.c +@@ -334,11 +334,11 @@ static struct sk_buff *gue_gro_receive(struct sock *sk, + struct gro_remcsum grc; + u8 proto; + ++ skb_gro_remcsum_init(&grc); ++ + if (!fou) + goto out; + +- skb_gro_remcsum_init(&grc); +- + off = skb_gro_offset(skb); + len = off + sizeof(*guehdr); + +-- +2.43.0 + diff --git a/queue-5.10/hwmon-pmbus-conditionally-clear-individual-status-bi.patch b/queue-5.10/hwmon-pmbus-conditionally-clear-individual-status-bi.patch new file mode 100644 index 00000000000..dfb10510d7b --- /dev/null +++ b/queue-5.10/hwmon-pmbus-conditionally-clear-individual-status-bi.patch @@ -0,0 +1,99 @@ +From 99661c89b98e2efb66556d78d2e71a0e0e224cf1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 9 Sep 2024 11:30:28 +0200 +Subject: hwmon: (pmbus) Conditionally clear individual status bits for pmbus + rev >= 1.2 + +From: Patryk Biel + +[ Upstream commit 20471071f198c8626dbe3951ac9834055b387844 ] + +The current implementation of pmbus_show_boolean assumes that all devices +support write-back operation of status register to clear pending warnings +or faults. Since clearing individual bits in the status registers was only +introduced in PMBus specification 1.2, this operation may not be supported +by some older devices. This can result in an error while reading boolean +attributes such as temp1_max_alarm. + +Fetch PMBus revision supported by the device and modify pmbus_show_boolean +so that it only tries to clear individual status bits if the device is +compliant with PMBus specs >= 1.2. Otherwise clear all fault indicators +on the current page after a fault status was reported. + +Fixes: 35f165f08950a ("hwmon: (pmbus) Clear pmbus fault/warning bits after read") +Signed-off-by: Patryk Biel +Message-ID: <20240909-pmbus-status-reg-clearing-v1-1-f1c0d68c6408@gmail.com> +[groeck: + Rewrote description + Moved revision detection code ahead of clear faults command + Assigned revision if return value from PMBUS_REVISION command is 0 + Improved return value check from calling _pmbus_write_byte_data()] +Signed-off-by: Guenter Roeck +Signed-off-by: Sasha Levin +--- + drivers/hwmon/pmbus/pmbus.h | 6 ++++++ + drivers/hwmon/pmbus/pmbus_core.c | 17 ++++++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h +index 147306be54ac..a46c479962b0 100644 +--- a/drivers/hwmon/pmbus/pmbus.h ++++ b/drivers/hwmon/pmbus/pmbus.h +@@ -409,6 +409,12 @@ enum pmbus_sensor_classes { + enum pmbus_data_format { linear = 0, direct, vid }; + enum vrm_version { vr11 = 0, vr12, vr13, imvp9, amd625mv }; + ++/* PMBus revision identifiers */ ++#define PMBUS_REV_10 0x00 /* PMBus revision 1.0 */ ++#define PMBUS_REV_11 0x11 /* PMBus revision 1.1 */ ++#define PMBUS_REV_12 0x22 /* PMBus revision 1.2 */ ++#define PMBUS_REV_13 0x33 /* PMBus revision 1.3 */ ++ + struct pmbus_driver_info { + int pages; /* Total number of pages */ + u8 phases[PMBUS_PAGES]; /* Number of phases per page */ +diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c +index a5e46d5cf760..b795c90a46d9 100644 +--- a/drivers/hwmon/pmbus/pmbus_core.c ++++ b/drivers/hwmon/pmbus/pmbus_core.c +@@ -82,6 +82,8 @@ struct pmbus_data { + + u32 flags; /* from platform data */ + ++ u8 revision; /* The PMBus revision the device is compliant with */ ++ + int exponent[PMBUS_PAGES]; + /* linear mode: exponent for output voltages */ + +@@ -917,9 +919,14 @@ static int pmbus_get_boolean(struct i2c_client *client, struct pmbus_boolean *b, + + regval = status & mask; + if (regval) { +- ret = _pmbus_write_byte_data(client, page, reg, regval); +- if (ret) +- goto unlock; ++ if (data->revision >= PMBUS_REV_12) { ++ ret = _pmbus_write_byte_data(client, page, reg, regval); ++ if (ret) ++ goto unlock; ++ } else { ++ pmbus_clear_fault_page(client, page); ++ } ++ + } + if (s1 && s2) { + s64 v1, v2; +@@ -2240,6 +2247,10 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data, + if (ret > 0 && (ret & PB_WP_ANY)) + data->flags |= PMBUS_WRITE_PROTECTED | PMBUS_SKIP_STATUS_CHECK; + ++ ret = i2c_smbus_read_byte_data(client, PMBUS_REVISION); ++ if (ret >= 0) ++ data->revision = ret; ++ + if (data->info->pages) + pmbus_clear_faults(client); + else +-- +2.43.0 + diff --git a/queue-5.10/hwmon-pmbus-introduce-and-use-write_byte_data-callba.patch b/queue-5.10/hwmon-pmbus-introduce-and-use-write_byte_data-callba.patch new file mode 100644 index 00000000000..be4cdad0e09 --- /dev/null +++ b/queue-5.10/hwmon-pmbus-introduce-and-use-write_byte_data-callba.patch @@ -0,0 +1,101 @@ +From c7fe92eb34d37b17c0e083ec830348235860a213 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 28 Apr 2022 16:40:36 +0200 +Subject: hwmon: (pmbus) Introduce and use write_byte_data callback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: MÃ¥rten Lindahl + +[ Upstream commit 5de3e13f7f6b496bd7bd9ff4d2b915b7d3e67cda ] + +Some of the pmbus core functions uses pmbus_write_byte_data, which does +not support driver callbacks for chip specific write operations. This +could potentially influence some specific regulator chips that for +example need a time delay before each data access. + +Lets add support for driver callback with _pmbus_write_byte_data. + +Signed-off-by: MÃ¥rten Lindahl +Link: https://lore.kernel.org/r/20220428144039.2464667-2-marten.lindahl@axis.com +Signed-off-by: Guenter Roeck +Stable-dep-of: 20471071f198 ("hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2") +Signed-off-by: Sasha Levin +--- + drivers/hwmon/pmbus/pmbus.h | 2 ++ + drivers/hwmon/pmbus/pmbus_core.c | 24 +++++++++++++++++++++--- + 2 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h +index de27837e8527..147306be54ac 100644 +--- a/drivers/hwmon/pmbus/pmbus.h ++++ b/drivers/hwmon/pmbus/pmbus.h +@@ -438,6 +438,8 @@ struct pmbus_driver_info { + int (*read_byte_data)(struct i2c_client *client, int page, int reg); + int (*read_word_data)(struct i2c_client *client, int page, int phase, + int reg); ++ int (*write_byte_data)(struct i2c_client *client, int page, int reg, ++ u8 byte); + int (*write_word_data)(struct i2c_client *client, int page, int reg, + u16 word); + int (*write_byte)(struct i2c_client *client, int page, u8 value); +diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c +index 117e3ce9c76a..a5e46d5cf760 100644 +--- a/drivers/hwmon/pmbus/pmbus_core.c ++++ b/drivers/hwmon/pmbus/pmbus_core.c +@@ -265,6 +265,24 @@ static int _pmbus_write_word_data(struct i2c_client *client, int page, int reg, + return pmbus_write_word_data(client, page, reg, word); + } + ++/* ++ * _pmbus_write_byte_data() is similar to pmbus_write_byte_data(), but checks if ++ * a device specific mapping function exists and calls it if necessary. ++ */ ++static int _pmbus_write_byte_data(struct i2c_client *client, int page, int reg, u8 value) ++{ ++ struct pmbus_data *data = i2c_get_clientdata(client); ++ const struct pmbus_driver_info *info = data->info; ++ int status; ++ ++ if (info->write_byte_data) { ++ status = info->write_byte_data(client, page, reg, value); ++ if (status != -ENODATA) ++ return status; ++ } ++ return pmbus_write_byte_data(client, page, reg, value); ++} ++ + int pmbus_update_fan(struct i2c_client *client, int page, int id, + u8 config, u8 mask, u16 command) + { +@@ -279,7 +297,7 @@ int pmbus_update_fan(struct i2c_client *client, int page, int id, + + to = (from & ~mask) | (config & mask); + if (to != from) { +- rv = pmbus_write_byte_data(client, page, ++ rv = _pmbus_write_byte_data(client, page, + pmbus_fan_config_registers[id], to); + if (rv < 0) + return rv; +@@ -386,7 +404,7 @@ int pmbus_update_byte_data(struct i2c_client *client, int page, u8 reg, + tmp = (rv & ~mask) | (value & mask); + + if (tmp != rv) +- rv = pmbus_write_byte_data(client, page, reg, tmp); ++ rv = _pmbus_write_byte_data(client, page, reg, tmp); + + return rv; + } +@@ -899,7 +917,7 @@ static int pmbus_get_boolean(struct i2c_client *client, struct pmbus_boolean *b, + + regval = status & mask; + if (regval) { +- ret = pmbus_write_byte_data(client, page, reg, regval); ++ ret = _pmbus_write_byte_data(client, page, reg, regval); + if (ret) + goto unlock; + } +-- +2.43.0 + diff --git a/queue-5.10/ice-fix-accounting-for-filters-shared-by-multiple-vs.patch b/queue-5.10/ice-fix-accounting-for-filters-shared-by-multiple-vs.patch new file mode 100644 index 00000000000..59fa6f79146 --- /dev/null +++ b/queue-5.10/ice-fix-accounting-for-filters-shared-by-multiple-vs.patch @@ -0,0 +1,69 @@ +From 7d8ef2065a647b418d88f4514f8551da3ee5b103 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 31 Jul 2024 09:55:55 -0700 +Subject: ice: fix accounting for filters shared by multiple VSIs + +From: Jacob Keller + +[ Upstream commit e843cf7b34fe2e0c1afc55e1f3057375c9b77a14 ] + +When adding a switch filter (such as a MAC or VLAN filter), it is expected +that the driver will detect the case where the filter already exists, and +return -EEXIST. This is used by calling code such as ice_vc_add_mac_addr, +and ice_vsi_add_vlan to avoid incrementing the accounting fields such as +vsi->num_vlan or vf->num_mac. + +This logic works correctly for the case where only a single VSI has added a +given switch filter. + +When a second VSI adds the same switch filter, the driver converts the +existing filter from an ICE_FWD_TO_VSI filter into an ICE_FWD_TO_VSI_LIST +filter. This saves switch resources, by ensuring that multiple VSIs can +re-use the same filter. + +The ice_add_update_vsi_list() function is responsible for doing this +conversion. When first converting a filter from the FWD_TO_VSI into +FWD_TO_VSI_LIST, it checks if the VSI being added is the same as the +existing rule's VSI. In such a case it returns -EEXIST. + +However, when the switch rule has already been converted to a +FWD_TO_VSI_LIST, the logic is different. Adding a new VSI in this case just +requires extending the VSI list entry. The logic for checking if the rule +already exists in this case returns 0 instead of -EEXIST. + +This breaks the accounting logic mentioned above, so the counters for how +many MAC and VLAN filters exist for a given VF or VSI no longer accurately +reflect the actual count. This breaks other code which relies on these +counts. + +In typical usage this primarily affects such filters generally shared by +multiple VSIs such as VLAN 0, or broadcast and multicast MAC addresses. + +Fix this by correctly reporting -EEXIST in the case of adding the same VSI +to a switch rule already converted to ICE_FWD_TO_VSI_LIST. + +Fixes: 9daf8208dd4d ("ice: Add support for switch filter programming") +Signed-off-by: Jacob Keller +Tested-by: Rafal Romanowski +Signed-off-by: Tony Nguyen +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/intel/ice/ice_switch.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c +index 0155c45d9d7f..1645fb527fdb 100644 +--- a/drivers/net/ethernet/intel/ice/ice_switch.c ++++ b/drivers/net/ethernet/intel/ice/ice_switch.c +@@ -1259,7 +1259,7 @@ ice_add_update_vsi_list(struct ice_hw *hw, + + /* A rule already exists with the new VSI being added */ + if (test_bit(vsi_handle, m_entry->vsi_list_info->vsi_map)) +- return 0; ++ return -EEXIST; + + /* Update the previously created VSI list set with + * the new VSI ID passed in +-- +2.43.0 + diff --git a/queue-5.10/net-dpaa-pad-packets-to-eth_zlen.patch b/queue-5.10/net-dpaa-pad-packets-to-eth_zlen.patch new file mode 100644 index 00000000000..c02c5daa595 --- /dev/null +++ b/queue-5.10/net-dpaa-pad-packets-to-eth_zlen.patch @@ -0,0 +1,62 @@ +From 39723a7ebfcbee625fbea71fe9b5171169cf147a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 10 Sep 2024 10:31:44 -0400 +Subject: net: dpaa: Pad packets to ETH_ZLEN + +From: Sean Anderson + +[ Upstream commit cbd7ec083413c6a2e0c326d49e24ec7d12c7a9e0 ] + +When sending packets under 60 bytes, up to three bytes of the buffer +following the data may be leaked. Avoid this by extending all packets to +ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be +reproduced by running + + $ ping -s 11 destination + +Fixes: 9ad1a3749333 ("dpaa_eth: add support for DPAA Ethernet") +Suggested-by: Eric Dumazet +Signed-off-by: Sean Anderson +Reviewed-by: Eric Dumazet +Link: https://patch.msgid.link/20240910143144.1439910-1-sean.anderson@linux.dev +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +index 90bd5583ac34..cf7e9b26a0e3 100644 +--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c ++++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +@@ -2155,12 +2155,12 @@ static netdev_tx_t + dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev) + { + const int queue_mapping = skb_get_queue_mapping(skb); +- bool nonlinear = skb_is_nonlinear(skb); + struct rtnl_link_stats64 *percpu_stats; + struct dpaa_percpu_priv *percpu_priv; + struct netdev_queue *txq; + struct dpaa_priv *priv; + struct qm_fd fd; ++ bool nonlinear; + int offset = 0; + int err = 0; + +@@ -2170,6 +2170,13 @@ dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev) + + qm_fd_clear_fd(&fd); + ++ /* Packet data is always read as 32-bit words, so zero out any part of ++ * the skb which might be sent if we have to pad the packet ++ */ ++ if (__skb_put_padto(skb, ETH_ZLEN, false)) ++ goto enomem; ++ ++ nonlinear = skb_is_nonlinear(skb); + if (!nonlinear) { + /* We're going to store the skb backpointer at the beginning + * of the data buffer, so we need a privately owned skb +-- +2.43.0 + diff --git a/queue-5.10/net-ftgmac100-enable-tx-interrupt-to-avoid-tx-timeou.patch b/queue-5.10/net-ftgmac100-enable-tx-interrupt-to-avoid-tx-timeou.patch new file mode 100644 index 00000000000..b01b1233faa --- /dev/null +++ b/queue-5.10/net-ftgmac100-enable-tx-interrupt-to-avoid-tx-timeou.patch @@ -0,0 +1,69 @@ +From f54bd8aebc96a766fa46568bee38b8304b7e67ce Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 6 Sep 2024 14:28:31 +0800 +Subject: net: ftgmac100: Enable TX interrupt to avoid TX timeout + +From: Jacky Chou + +[ Upstream commit fef2843bb49f414d1523ca007d088071dee0e055 ] + +Currently, the driver only enables RX interrupt to handle RX +packets and TX resources. Sometimes there is not RX traffic, +so the TX resource needs to wait for RX interrupt to free. +This situation will toggle the TX timeout watchdog when the MAC +TX ring has no more resources to transmit packets. +Therefore, enable TX interrupt to release TX resources at any time. + +When I am verifying iperf3 over UDP, the network hangs. +Like the log below. + +root# iperf3 -c 192.168.100.100 -i1 -t10 -u -b0 +Connecting to host 192.168.100.100, port 5201 +[ 4] local 192.168.100.101 port 35773 connected to 192.168.100.100 port 5201 +[ ID] Interval Transfer Bandwidth Total Datagrams +[ 4] 0.00-20.42 sec 160 KBytes 64.2 Kbits/sec 20 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +[ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0 +- - - - - - - - - - - - - - - - - - - - - - - - - +[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams +[ 4] 0.00-20.42 sec 160 KBytes 64.2 Kbits/sec 0.000 ms 0/20 (0%) +[ 4] Sent 20 datagrams +iperf3: error - the server has terminated + +The network topology is FTGMAC connects directly to a PC. +UDP does not need to wait for ACK, unlike TCP. +Therefore, FTGMAC needs to enable TX interrupt to release TX resources instead +of waiting for the RX interrupt. + +Fixes: 10cbd6407609 ("ftgmac100: Rework NAPI & interrupts handling") +Signed-off-by: Jacky Chou +Link: https://patch.msgid.link/20240906062831.2243399-1-jacky_chou@aspeedtech.com +Signed-off-by: Paolo Abeni +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/faraday/ftgmac100.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/faraday/ftgmac100.h b/drivers/net/ethernet/faraday/ftgmac100.h +index 63b3e02fab16..4968f6f0bdbc 100644 +--- a/drivers/net/ethernet/faraday/ftgmac100.h ++++ b/drivers/net/ethernet/faraday/ftgmac100.h +@@ -84,7 +84,7 @@ + FTGMAC100_INT_RPKT_BUF) + + /* All the interrupts we care about */ +-#define FTGMAC100_INT_ALL (FTGMAC100_INT_RPKT_BUF | \ ++#define FTGMAC100_INT_ALL (FTGMAC100_INT_RXTX | \ + FTGMAC100_INT_BAD) + + /* +-- +2.43.0 + diff --git a/queue-5.10/net-mlx5-update-the-list-of-the-pci-supported-device.patch b/queue-5.10/net-mlx5-update-the-list-of-the-pci-supported-device.patch new file mode 100644 index 00000000000..7da946c2922 --- /dev/null +++ b/queue-5.10/net-mlx5-update-the-list-of-the-pci-supported-device.patch @@ -0,0 +1,35 @@ +From c8e56ba0fd8138363ebd11e8759f02ec53a6ba79 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 20 Nov 2020 15:03:30 -0800 +Subject: net/mlx5: Update the list of the PCI supported devices + +From: Meir Lichtinger + +[ Upstream commit dd8595eabeb486d41ad9994e6cece36e0e25e313 ] + +Add the upcoming BlueField-3 device ID. + +Signed-off-by: Meir Lichtinger +Reviewed-by: Eran Ben Elisha +Reviewed-by: Tariq Toukan +Signed-off-by: Saeed Mahameed +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c +index 35e11cb883c9..f76a4860032c 100644 +--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c ++++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c +@@ -1600,6 +1600,7 @@ static const struct pci_device_id mlx5_core_pci_table[] = { + { PCI_VDEVICE(MELLANOX, 0xa2d2) }, /* BlueField integrated ConnectX-5 network controller */ + { PCI_VDEVICE(MELLANOX, 0xa2d3), MLX5_PCI_DEV_IS_VF}, /* BlueField integrated ConnectX-5 network controller VF */ + { PCI_VDEVICE(MELLANOX, 0xa2d6) }, /* BlueField-2 integrated ConnectX-6 Dx network controller */ ++ { PCI_VDEVICE(MELLANOX, 0xa2dc) }, /* BlueField-3 integrated ConnectX-7 network controller */ + { 0, } + }; + +-- +2.43.0 + diff --git a/queue-5.10/net-mlx5e-add-missing-link-modes-to-ptys2ethtool_map.patch b/queue-5.10/net-mlx5e-add-missing-link-modes-to-ptys2ethtool_map.patch new file mode 100644 index 00000000000..701f324d308 --- /dev/null +++ b/queue-5.10/net-mlx5e-add-missing-link-modes-to-ptys2ethtool_map.patch @@ -0,0 +1,40 @@ +From 39652077c9feedabba51d98216deefdaaa7c3fbb Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 11 Aug 2024 13:56:13 +0300 +Subject: net/mlx5e: Add missing link modes to ptys2ethtool_map + +From: Shahar Shitrit + +[ Upstream commit 7617d62cba4a8a3ff3ed3fda0171c43f135c142e ] + +Add MLX5E_1000BASE_T and MLX5E_100BASE_TX to the legacy +modes in ptys2legacy_ethtool_table, since they were missing. + +Fixes: 665bc53969d7 ("net/mlx5e: Use new ethtool get/set link ksettings API") +Signed-off-by: Shahar Shitrit +Reviewed-by: Tariq Toukan +Reviewed-by: Carolina Jubran +Signed-off-by: Saeed Mahameed +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +index 1fdb42899a9f..1e61f31a689a 100644 +--- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c ++++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +@@ -127,6 +127,10 @@ void mlx5e_build_ptys2ethtool_map(void) + ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT); + MLX5_BUILD_PTYS2ETHTOOL_CONFIG(MLX5E_100GBASE_LR4, legacy, + ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT); ++ MLX5_BUILD_PTYS2ETHTOOL_CONFIG(MLX5E_100BASE_TX, legacy, ++ ETHTOOL_LINK_MODE_100baseT_Full_BIT); ++ MLX5_BUILD_PTYS2ETHTOOL_CONFIG(MLX5E_1000BASE_T, legacy, ++ ETHTOOL_LINK_MODE_1000baseT_Full_BIT); + MLX5_BUILD_PTYS2ETHTOOL_CONFIG(MLX5E_10GBASE_T, legacy, + ETHTOOL_LINK_MODE_10000baseT_Full_BIT); + MLX5_BUILD_PTYS2ETHTOOL_CONFIG(MLX5E_25GBASE_CR, legacy, +-- +2.43.0 + diff --git a/queue-5.10/series b/queue-5.10/series index 482a04c8819..d72ad00ad9d 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -14,3 +14,11 @@ input-i8042-add-fujitsu-lifebook-e756-to-i8042-quirk.patch nfs-avoid-unnecessary-rescanning-of-the-per-server-d.patch arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch +hwmon-pmbus-introduce-and-use-write_byte_data-callba.patch +hwmon-pmbus-conditionally-clear-individual-status-bi.patch +ice-fix-accounting-for-filters-shared-by-multiple-vs.patch +net-mlx5-update-the-list-of-the-pci-supported-device.patch +net-mlx5e-add-missing-link-modes-to-ptys2ethtool_map.patch +fou-fix-initialization-of-grc.patch +net-ftgmac100-enable-tx-interrupt-to-avoid-tx-timeou.patch +net-dpaa-pad-packets-to-eth_zlen.patch