aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/ar8216.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/ar8216.c')
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8216.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 11cb18e4f3..3e6494aebb 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -2465,7 +2465,11 @@ ar8xxx_phy_config_init(struct phy_device *phydev)
/* VID fixup only needed on ar8216 */
if (chip_is_ar8216(priv)) {
dev->phy_ptr = priv;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+ dev->extra_priv_flags |= IFF_NO_IP_ALIGN;
+#else
dev->priv_flags |= IFF_NO_IP_ALIGN;
+#endif
dev->eth_mangle_rx = ar8216_mangle_rx;
dev->eth_mangle_tx = ar8216_mangle_tx;
}
@@ -2700,7 +2704,11 @@ ar8xxx_phy_detach(struct phy_device *phydev)
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
dev->phy_ptr = NULL;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+ dev->extra_priv_flags &= ~IFF_NO_IP_ALIGN;
+#else
dev->priv_flags &= ~IFF_NO_IP_ALIGN;
+#endif
dev->eth_mangle_rx = NULL;
dev->eth_mangle_tx = NULL;
#endif