Merge branch 'stable-1.6' into stable-1.7 (stmmac).

This commit is contained in:
Florian Pose
2026-08-19 10:51:07 +02:00
3 changed files with 38 additions and 3 deletions
+9 -2
View File
@@ -13,8 +13,15 @@
- Protected `rec_size` calculation in FoE.
- Check for malicious EoE frame details.
- Avoid writing invalid MAC onto r8169 NIC on removal
- Fixed insufficient re-allocation of SoE request buffer.
- Protect datagram receiving mechanism against re-ordering.
- Fixed insufficient re-allocation of SoE request buffer
- Protect datagram receiving mechanism against re-ordering
- Prevent creating datagrams that are too large for one frame
- Reacted to stmmac API changed during Linux 6.12
- Adapted debug ring to kernel 5.6+ time API changes
- Use str.read() to read into char* (deprecated in C++20)
- Unload `ec_bhf` before loading CCAT
- Added cpplint checks in pre-commit and CI tests.
- Improved and formatted markdown documents and added pre-commit checks
## Version 1.6.9
+9
View File
@@ -0,0 +1,9 @@
# Device drivers under this directory are largely verbatim copies of
# in-kernel drivers (see the various update.sh scripts), which are
# formatted with tabs as required by the Linux kernel coding style.
# Reformatting them to spaces would make future updates against the
# upstream sources needlessly hard to diff/merge, so the tab check is
# disabled here. This filter is added on top of (not instead of) the
# top-level CPPLINT.cfg, so it only relaxes tab checking for the
# driver tree -- master code elsewhere continues to be checked.
filter=-whitespace/tab
+20 -1
View File
@@ -5,11 +5,23 @@
#include <linux/clk-provider.h>
#include <linux/pci.h>
#include <linux/dmi.h>
#include <linux/version.h>
#include "dwmac-intel-6.12-ethercat.h"
#include "dwmac4-6.12-ethercat.h"
#include "stmmac-6.12-ethercat.h"
#include "stmmac_ptp-6.12-ethercat.h"
/* struct plat_stmmacenet_data had a member msi_lpi_vec (separate MSI
* vector for the LPI IRQ) up to and including Linux v6.12.77. It was
* removed from the 6.12.y stable branch as of v6.12.78 by stable
* commit cd19a32de5d0 ("net: stmmac: remove support for lpi_intr_o",
* upstream commit 14eb64db8ff0). Select the correct interface purely
* by kernel version so this file builds against both variants.
*/
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 12, 78)
#define EC_STMMAC_HAS_MSI_LPI_VEC
#endif
struct intel_priv_data {
int mdio_adhoc_addr; /* mdio address for serdes & etc */
unsigned long crossts_adj;
@@ -612,7 +624,9 @@ static int intel_mgbe_common_data(struct pci_dev *pdev,
/* Setup MSI vector offset specific to Intel mGbE controller */
plat->msi_mac_vec = 29;
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
plat->msi_lpi_vec = 28;
#endif
plat->msi_sfty_ce_vec = 27;
plat->msi_sfty_ue_vec = 26;
plat->msi_rx_base_vec = 0;
@@ -998,8 +1012,10 @@ static int stmmac_config_multi_msi(struct pci_dev *pdev,
res->irq = pci_irq_vector(pdev, plat->msi_mac_vec);
if (plat->msi_wol_vec < STMMAC_MSI_VEC_MAX)
res->wol_irq = pci_irq_vector(pdev, plat->msi_wol_vec);
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
if (plat->msi_lpi_vec < STMMAC_MSI_VEC_MAX)
res->lpi_irq = pci_irq_vector(pdev, plat->msi_lpi_vec);
#endif
if (plat->msi_sfty_ce_vec < STMMAC_MSI_VEC_MAX)
res->sfty_ce_irq = pci_irq_vector(pdev, plat->msi_sfty_ce_vec);
if (plat->msi_sfty_ue_vec < STMMAC_MSI_VEC_MAX)
@@ -1081,7 +1097,9 @@ static int intel_eth_pci_probe(struct pci_dev *pdev,
*/
plat->msi_mac_vec = STMMAC_MSI_VEC_MAX;
plat->msi_wol_vec = STMMAC_MSI_VEC_MAX;
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
plat->msi_lpi_vec = STMMAC_MSI_VEC_MAX;
#endif
plat->msi_sfty_ce_vec = STMMAC_MSI_VEC_MAX;
plat->msi_sfty_ue_vec = STMMAC_MSI_VEC_MAX;
plat->msi_rx_base_vec = STMMAC_MSI_VEC_MAX;
@@ -1256,6 +1274,7 @@ static void __exit dwmac_exit(void)
module_init(dwmac_init);
module_exit(dwmac_exit);
MODULE_DESCRIPTION("INTEL 10/100/1000 Ethernet PCI driver (EtherCAT-enabled)");
MODULE_DESCRIPTION(
"INTEL 10/100/1000 Ethernet PCI driver (EtherCAT-enabled)");
MODULE_AUTHOR("Voon Weifeng <weifeng.voon@intel.com>");
MODULE_LICENSE("GPL v2");