kernel: refresh ipq 6.12 patches

This commit is contained in:
coolsnowwolf 2025-08-10 22:24:20 +08:00
parent 50b8c522d4
commit 25f55a3a5b
33 changed files with 156 additions and 159 deletions

View File

@ -82,7 +82,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
static void blk_report_disk_dead(struct gendisk *disk, bool surprise)
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -734,6 +734,9 @@ static inline unsigned int blk_queue_dep
@@ -789,6 +789,9 @@ static inline unsigned int blk_queue_dep
#define for_each_bio(_bio) \
for (; _bio; _bio = _bio->bi_next)

View File

@ -815,7 +815,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL);
ret = submit_descs(nandc);
@@ -2864,7 +2815,7 @@ static int qcom_param_page_type_exec(str
@@ -2869,7 +2820,7 @@ static int qcom_param_page_type_exec(str
if (ret)
return ret;
@ -824,7 +824,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
nandc->buf_count = 0;
nandc->buf_start = 0;
@@ -2872,38 +2823,38 @@ static int qcom_param_page_type_exec(str
@@ -2877,38 +2828,38 @@ static int qcom_param_page_type_exec(str
clear_read_regs(nandc);
clear_bam_transaction(nandc);
@ -890,9 +890,9 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
}
instr = q_op.data_instr;
@@ -2912,9 +2863,9 @@ static int qcom_param_page_type_exec(str
nandc_set_read_loc(chip, 0, 0, 0, len, 1);
@@ -2920,9 +2871,9 @@ static int qcom_param_page_type_exec(str
else
nandc_set_read_loc_first(chip, reg_base, 0, len, 1);
- if (!nandc->props->qpic_v2) {
- write_reg_dma(nandc, NAND_DEV_CMD_VLD, 1, 0);
@ -903,7 +903,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
}
nandc->buf_count = 512;
@@ -2926,9 +2877,10 @@ static int qcom_param_page_type_exec(str
@@ -2934,9 +2885,10 @@ static int qcom_param_page_type_exec(str
nandc->buf_count, 0);
/* restore CMD1 and VLD regs */
@ -917,7 +917,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
}
ret = submit_descs(nandc);
@@ -3017,7 +2969,7 @@ static const struct nand_controller_ops
@@ -3025,7 +2977,7 @@ static const struct nand_controller_ops
static void qcom_nandc_unalloc(struct qcom_nand_controller *nandc)
{
@ -926,7 +926,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
if (!dma_mapping_error(nandc->dev, nandc->reg_read_dma))
dma_unmap_single(nandc->dev, nandc->reg_read_dma,
MAX_REG_RD *
@@ -3070,7 +3022,7 @@ static int qcom_nandc_alloc(struct qcom_
@@ -3078,7 +3030,7 @@ static int qcom_nandc_alloc(struct qcom_
if (!nandc->reg_read_buf)
return -ENOMEM;
@ -935,7 +935,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
nandc->reg_read_dma =
dma_map_single(nandc->dev, nandc->reg_read_buf,
MAX_REG_RD *
@@ -3151,15 +3103,15 @@ static int qcom_nandc_setup(struct qcom_
@@ -3159,15 +3111,15 @@ static int qcom_nandc_setup(struct qcom_
u32 nand_ctrl;
/* kill onenand */
@ -954,7 +954,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
nand_ctrl = nandc_read(nandc, NAND_CTRL);
/*
@@ -3176,7 +3128,7 @@ static int qcom_nandc_setup(struct qcom_
@@ -3184,7 +3136,7 @@ static int qcom_nandc_setup(struct qcom_
}
/* save the original values of these registers */
@ -963,7 +963,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
nandc->cmd1 = nandc_read(nandc, dev_cmd_reg_addr(nandc, NAND_DEV_CMD1));
nandc->vld = NAND_DEV_CMD_VLD_VAL;
}
@@ -3349,7 +3301,7 @@ static int qcom_nandc_parse_dt(struct pl
@@ -3357,7 +3309,7 @@ static int qcom_nandc_parse_dt(struct pl
struct device_node *np = nandc->dev->of_node;
int ret;
@ -972,7 +972,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
ret = of_property_read_u32(np, "qcom,cmd-crci",
&nandc->cmd_crci);
if (ret) {
@@ -3474,30 +3426,30 @@ static void qcom_nandc_remove(struct pla
@@ -3482,30 +3434,30 @@ static void qcom_nandc_remove(struct pla
static const struct qcom_nandc_props ipq806x_nandc_props = {
.ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT),

View File

@ -823,7 +823,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
if (ret) {
dev_err(nandc->dev, "failure in submitting misc descriptor\n");
goto err_out;
@@ -2820,8 +2820,8 @@ static int qcom_param_page_type_exec(str
@@ -2825,8 +2825,8 @@ static int qcom_param_page_type_exec(str
nandc->buf_count = 0;
nandc->buf_start = 0;
host->use_ecc = false;
@ -834,8 +834,8 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
nandc->regs->cmd = q_op.cmd_reg;
nandc->regs->addr0 = 0;
@@ -2864,8 +2864,8 @@ static int qcom_param_page_type_exec(str
nandc_set_read_loc(chip, 0, 0, 0, len, 1);
@@ -2872,8 +2872,8 @@ static int qcom_param_page_type_exec(str
nandc_set_read_loc_first(chip, reg_base, 0, len, 1);
if (!nandc->props->qpic_version2) {
- write_reg_dma(nandc, &nandc->regs->vld, NAND_DEV_CMD_VLD, 1, 0);
@ -845,7 +845,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
}
nandc->buf_count = 512;
@@ -2873,17 +2873,17 @@ static int qcom_param_page_type_exec(str
@@ -2881,17 +2881,17 @@ static int qcom_param_page_type_exec(str
config_nand_single_cw_page_read(chip, false, 0);
@ -869,7 +869,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
if (ret) {
dev_err(nandc->dev, "failure in submitting param page descriptor\n");
goto err_out;
@@ -3067,7 +3067,7 @@ static int qcom_nandc_alloc(struct qcom_
@@ -3075,7 +3075,7 @@ static int qcom_nandc_alloc(struct qcom_
* maximum codeword size
*/
nandc->max_cwperpage = 1;

View File

@ -1786,7 +1786,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
/*
* when using BCH ECC, the HW flags an error in NAND_FLASH_STATUS if it read
* an erased CW, and reports an erased CW in NAND_ERASED_CW_DETECT_STATUS.
@@ -2967,141 +2022,14 @@ static const struct nand_controller_ops
@@ -2975,141 +2030,14 @@ static const struct nand_controller_ops
.exec_op = qcom_nand_exec_op,
};
@ -1931,7 +1931,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
/* kill onenand */
if (!nandc->props->nandc_part_of_qpic)
nandc_write(nandc, SFLASHC_BURST_CFG, 0);
@@ -3240,7 +2168,7 @@ static int qcom_nand_host_init_and_regis
@@ -3248,7 +2176,7 @@ static int qcom_nand_host_init_and_regis
chip->legacy.block_bad = qcom_nandc_block_bad;
chip->legacy.block_markbad = qcom_nandc_block_markbad;
@ -1940,7 +1940,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
chip->options |= NAND_NO_SUBPAGE_WRITE | NAND_USES_DMA |
NAND_SKIP_BBTSCAN;
@@ -3323,17 +2251,21 @@ static int qcom_nandc_parse_dt(struct pl
@@ -3331,17 +2259,21 @@ static int qcom_nandc_parse_dt(struct pl
static int qcom_nandc_probe(struct platform_device *pdev)
{
struct qcom_nand_controller *nandc;

View File

@ -104,7 +104,7 @@ Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
if (!nandc->props->qpic_version2)
host->ecc_buf_cfg = 0x203 << NUM_STEPS;
@@ -1882,21 +1881,21 @@ static int qcom_param_page_type_exec(str
@@ -1887,21 +1886,21 @@ static int qcom_param_page_type_exec(str
nandc->regs->addr0 = 0;
nandc->regs->addr1 = 0;

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -1867,7 +1867,7 @@
@@ -1867,7 +1867,7 @@ static int qcom_param_page_type_exec(str
reg_base = NAND_READ_LOCATION_0;
@ -9,7 +9,7 @@
reg_base = NAND_READ_LOCATION_LAST_CW_0;
ret = qcom_parse_instructions(chip, subop, &q_op);
@@ -1920,7 +1920,7 @@
@@ -1920,7 +1920,7 @@ static int qcom_param_page_type_exec(str
op_id = q_op.data_instr_idx;
len = nand_subop_get_data_len(subop, op_id);

View File

@ -32,7 +32,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -1881,18 +1881,18 @@ static int qcom_param_page_type_exec(str
@@ -1886,18 +1886,18 @@ static int qcom_param_page_type_exec(str
nandc->regs->addr0 = 0;
nandc->regs->addr1 = 0;

View File

@ -205,7 +205,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
};
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -1717,7 +1717,7 @@ static struct phy_driver broadcom_driver
@@ -1734,7 +1734,7 @@ static struct phy_driver broadcom_driver
module_phy_driver(broadcom_drivers);
@ -458,7 +458,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ }
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -5691,7 +5691,7 @@ MODULE_DESCRIPTION("Micrel PHY driver");
@@ -5701,7 +5701,7 @@ MODULE_DESCRIPTION("Micrel PHY driver");
MODULE_AUTHOR("David J. Choi");
MODULE_LICENSE("GPL");
@ -469,7 +469,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ PHY_ID_KSZ9131, MICREL_PHY_ID_MASK },
--- a/drivers/net/phy/microchip.c
+++ b/drivers/net/phy/microchip.c
@@ -508,7 +508,7 @@ static struct phy_driver microchip_phy_d
@@ -509,7 +509,7 @@ static struct phy_driver microchip_phy_d
module_phy_driver(microchip_phy_driver);
@ -502,7 +502,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ }
--- a/drivers/net/phy/mscc/mscc_main.c
+++ b/drivers/net/phy/mscc/mscc_main.c
@@ -2700,7 +2700,7 @@ static struct phy_driver vsc85xx_driver[
@@ -2712,7 +2712,7 @@ static struct phy_driver vsc85xx_driver[
module_phy_driver(vsc85xx_driver);
@ -579,7 +579,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ PHY_ID_MATCH_MODEL(PHY_ID_TJA1102) },
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1098,7 +1098,7 @@ static struct phy_driver at803x_driver[]
@@ -1071,7 +1071,7 @@ static struct phy_driver at803x_driver[]
module_phy_driver(at803x_driver);
@ -645,7 +645,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
};
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -837,7 +837,7 @@ MODULE_DESCRIPTION("SMSC PHY driver");
@@ -885,7 +885,7 @@ MODULE_DESCRIPTION("SMSC PHY driver");
MODULE_AUTHOR("Herbert Valerio Riedel");
MODULE_LICENSE("GPL");

View File

@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -3385,11 +3385,17 @@ static int of_phy_led(struct phy_device
@@ -3387,11 +3387,17 @@ static int of_phy_led(struct phy_device
if (index > U8_MAX)
return -EINVAL;
@ -39,7 +39,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (!phydev->drv->led_polarity_set)
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -877,8 +877,9 @@ struct phy_plca_status {
@@ -874,8 +874,9 @@ struct phy_plca_status {
/* Modes for PHY LED configuration */
enum phy_led_modes {

View File

@ -123,7 +123,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
depends on NETFILTER_ADVANCED
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -2753,6 +2753,10 @@ int nf_conntrack_init_net(struct net *ne
@@ -2767,6 +2767,10 @@ int nf_conntrack_init_net(struct net *ne
nf_conntrack_ecache_pernet_init(net);
nf_conntrack_proto_pernet_init(net);
@ -319,7 +319,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
struct nf_conn *ct = item->ct;
struct sk_buff *skb;
unsigned int type;
@@ -3754,11 +3761,17 @@ static int ctnetlink_stat_exp_cpu(struct
@@ -3756,11 +3763,17 @@ static int ctnetlink_stat_exp_cpu(struct
}
#ifdef CONFIG_NF_CONNTRACK_EVENTS
@ -337,7 +337,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = {
[IPCTNL_MSG_CT_NEW] = {
@@ -3857,8 +3870,12 @@ static int __net_init ctnetlink_net_init
@@ -3859,8 +3872,12 @@ static int __net_init ctnetlink_net_init
static void ctnetlink_net_pre_exit(struct net *net)
{
#ifdef CONFIG_NF_CONNTRACK_EVENTS

View File

@ -78,7 +78,7 @@
struct net_bridge_port *p;
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3642,9 +3642,17 @@ static int xmit_one(struct sk_buff *skb,
@@ -3654,9 +3654,17 @@ static int xmit_one(struct sk_buff *skb,
{
unsigned int len;
int rc;
@ -97,7 +97,7 @@
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
@@ -5493,6 +5501,11 @@ void netdev_rx_handler_unregister(struct
@@ -5505,6 +5513,11 @@ void netdev_rx_handler_unregister(struct
}
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
@ -109,7 +109,7 @@
/*
* Limit the use of PFMEMALLOC reserves to those protocols that implement
* the special handling of PFMEMALLOC skbs.
@@ -5541,6 +5554,10 @@ static int __netif_receive_skb_core(stru
@@ -5553,6 +5566,10 @@ static int __netif_receive_skb_core(stru
int ret = NET_RX_DROP;
__be16 type;
@ -120,7 +120,7 @@
net_timestamp_check(!READ_ONCE(net_hotdata.tstamp_prequeue), skb);
trace_netif_receive_skb(skb);
@@ -5579,6 +5596,15 @@ another_round:
@@ -5591,6 +5608,15 @@ another_round:
goto out;
}

View File

@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/8021q/vlan.h
+++ b/net/8021q/vlan.h
@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl
@@ -109,7 +109,7 @@ static inline netdev_features_t vlan_tnl
netdev_features_t ret;
ret = real_dev->hw_enc_features &

View File

@ -319,7 +319,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
compatible = "cache";
cache-level = <2>;
cache-unified;
@@ -863,10 +863,10 @@
@@ -865,10 +865,10 @@
cooling-maps {
map0 {
trip = <&cpu0_alert>;
@ -334,7 +334,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
};
};
};
@@ -891,10 +891,10 @@
@@ -893,10 +893,10 @@
cooling-maps {
map0 {
trip = <&cpu1_alert>;
@ -349,7 +349,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
};
};
};
@@ -919,10 +919,10 @@
@@ -921,10 +921,10 @@
cooling-maps {
map0 {
trip = <&cpu2_alert>;
@ -364,7 +364,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
};
};
};
@@ -947,10 +947,10 @@
@@ -949,10 +949,10 @@
cooling-maps {
map0 {
trip = <&cpu3_alert>;

View File

@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -417,8 +417,21 @@
@@ -427,8 +427,21 @@
};
tcsr: syscon@1937000 {

View File

@ -8,9 +8,9 @@
+ struct rtnl_link_stats64 *nlstats); */
+extern bool br_is_hairpin_enabled(struct net_device *dev);
#if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING)
int br_multicast_list_adjacent(struct net_device *dev,
@@ -213,4 +216,42 @@ static inline clock_t br_get_ageing_time
extern void br_dev_update_stats(struct net_device *dev,
struct rtnl_link_stats64 *nlstats);
@@ -216,4 +219,42 @@ static inline clock_t br_get_ageing_time
}
#endif
@ -55,7 +55,7 @@
#endif
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -143,7 +143,10 @@ extern struct net_device *__vlan_find_de
@@ -138,7 +138,10 @@ extern struct net_device *__vlan_find_de
extern int vlan_for_each(struct net_device *dev,
int (*action)(struct net_device *dev, int vid,
void *arg), void *arg);
@ -79,7 +79,6 @@
static inline bool is_vlan_dev(const struct net_device *dev)
{
return false;
}
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2907,6 +2907,10 @@ enum netdev_cmd {
@ -109,7 +108,7 @@
const struct dst_entry *dst = skb_dst(skb);
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -249,6 +249,13 @@ static inline int neigh_parms_family(str
@@ -250,6 +250,13 @@ static inline int neigh_parms_family(str
return p->tbl->family;
}
@ -123,7 +122,7 @@
#define NEIGH_PRIV_ALIGN sizeof(long long)
#define NEIGH_ENTRY_SIZE(size) ALIGN((size), NEIGH_PRIV_ALIGN)
@@ -395,6 +402,11 @@ void __neigh_for_each_release(struct nei
@@ -396,6 +403,11 @@ void __neigh_for_each_release(struct nei
int (*cb)(struct neighbour *));
int neigh_xmit(int fam, struct net_device *, const void *, struct sk_buff *);
@ -135,7 +134,7 @@
struct neigh_seq_state {
struct seq_net_private p;
struct neigh_table *tbl;
@@ -600,4 +612,5 @@ static inline void neigh_update_is_route
@@ -601,4 +613,5 @@ static inline void neigh_update_is_route
*notify = 1;
}
}
@ -157,7 +156,7 @@
void fib_del_ifaddr(struct in_ifaddr *, struct in_ifaddr *);
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -2292,4 +2292,6 @@ void br_do_suppress_nd(struct sk_buff *s
@@ -2304,4 +2304,6 @@ void br_do_suppress_nd(struct sk_buff *s
u16 vid, struct net_bridge_port *p, struct nd_msg *msg);
struct nd_msg *br_is_nd_neigh_msg(struct sk_buff *skb, struct nd_msg *m);
bool br_is_neigh_suppress_enabled(const struct net_bridge_port *p, u16 vid);
@ -419,7 +418,7 @@
/* Since more than one interface can be attached to a bridge,
* there still maybe an alternate path for netconsole to use;
* therefore there is no reason for a NETDEV_RELEASE event.
@@ -775,3 +785,97 @@ bool br_port_flag_is_set(const struct ne
@@ -797,3 +807,97 @@ bool br_port_flag_is_set(const struct ne
return p->flags & flag;
}
EXPORT_SYMBOL_GPL(br_port_flag_is_set);
@ -519,7 +518,7 @@
+/* QCA NSS ECM support - End */
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1277,6 +1277,22 @@ static void neigh_update_hhs(struct neig
@@ -1282,6 +1282,22 @@ static void neigh_update_hhs(struct neig
}
}
@ -542,7 +541,7 @@
/* Generic update routine.
-- lladdr is new lladdr or NULL, if it is not supplied.
-- new is new state.
@@ -1305,6 +1321,7 @@ static int __neigh_update(struct neighbo
@@ -1310,6 +1326,7 @@ static int __neigh_update(struct neighbo
struct net_device *dev;
int err, notify = 0;
u8 old;
@ -550,7 +549,7 @@
trace_neigh_update(neigh, lladdr, new, flags, nlmsg_pid);
@@ -1319,7 +1336,10 @@ static int __neigh_update(struct neighbo
@@ -1324,7 +1341,10 @@ static int __neigh_update(struct neighbo
new = old;
goto out;
}
@ -562,7 +561,7 @@
(old & (NUD_NOARP | NUD_PERMANENT)))
goto out;
@@ -1356,7 +1376,12 @@ static int __neigh_update(struct neighbo
@@ -1361,7 +1381,12 @@ static int __neigh_update(struct neighbo
- compare new & old
- if they are different, check override flag
*/
@ -576,7 +575,7 @@
!memcmp(lladdr, neigh->ha, dev->addr_len))
lladdr = neigh->ha;
} else {
@@ -1478,8 +1503,11 @@ out:
@@ -1483,8 +1508,11 @@ out:
neigh_update_gc_list(neigh);
if (managed_update)
neigh_update_managed_list(neigh);
@ -591,7 +590,7 @@
}
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -1212,6 +1212,9 @@ static bool fib_valid_key_len(u32 key, u
@@ -1196,6 +1196,9 @@ static int fib_insert_alias(struct trie
static void fib_remove_alias(struct trie *t, struct key_vector *tp,
struct key_vector *l, struct fib_alias *old);
@ -601,7 +600,7 @@
/* Caller must hold RTNL. */
int fib_table_insert(struct net *net, struct fib_table *tb,
struct fib_config *cfg, struct netlink_ext_ack *extack)
@@ -1405,6 +1408,9 @@ int fib_table_insert(struct net *net, st
@@ -1386,6 +1389,9 @@ int fib_table_insert(struct net *net, st
rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, new_fa->tb_id,
&cfg->fc_nlinfo, nlflags);
succeeded:
@ -611,7 +610,7 @@
return 0;
out_remove_new_fa:
@@ -1776,6 +1782,9 @@ int fib_table_delete(struct net *net, st
@@ -1754,6 +1760,9 @@ int fib_table_delete(struct net *net, st
if (fa_to_delete->fa_state & FA_S_ACCESSED)
rt_cache_flush(cfg->fc_nlinfo.nl_net);
@ -621,7 +620,7 @@
fib_release_info(fa_to_delete->fa_info);
alias_free_mem_rcu(fa_to_delete);
return 0;
@@ -2408,6 +2417,20 @@ void __init fib_trie_init(void)
@@ -2386,6 +2395,20 @@ void __init fib_trie_init(void)
0, SLAB_PANIC | SLAB_ACCOUNT, NULL);
}
@ -664,7 +663,7 @@
static inline const void *choose_neigh_daddr(const struct in6_addr *p,
struct sk_buff *skb,
const void *daddr)
@@ -3916,6 +3919,10 @@ int ip6_route_add(struct fib6_config *cf
@@ -3917,6 +3920,10 @@ int ip6_route_add(struct fib6_config *cf
return PTR_ERR(rt);
err = __ip6_ins_rt(rt, &cfg->fc_nlinfo, extack);
@ -675,7 +674,7 @@
fib6_info_release(rt);
return err;
@@ -3937,6 +3944,9 @@ static int __ip6_del_rt(struct fib6_info
@@ -3938,6 +3945,9 @@ static int __ip6_del_rt(struct fib6_info
err = fib6_del(rt, info);
spin_unlock_bh(&table->tb6_lock);
@ -685,7 +684,7 @@
out:
fib6_info_release(rt);
return err;
@@ -6400,6 +6410,20 @@ static int ip6_route_dev_notify(struct n
@@ -6409,6 +6419,20 @@ static int ip6_route_dev_notify(struct n
return NOTIFY_OK;
}
@ -708,7 +707,7 @@
*/
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1737,6 +1737,7 @@ const char *netdev_cmd_to_name(enum netd
@@ -1768,6 +1768,7 @@ const char *netdev_cmd_to_name(enum netd
N(PRE_CHANGEADDR) N(OFFLOAD_XSTATS_ENABLE) N(OFFLOAD_XSTATS_DISABLE)
N(OFFLOAD_XSTATS_REPORT_USED) N(OFFLOAD_XSTATS_REPORT_DELTA)
N(XDP_FEAT_CHANGE)
@ -786,7 +785,7 @@
#endif /* _UAPI_LINUX_IN_H */
--- a/net/netfilter/nf_conntrack_ecache.c
+++ b/net/netfilter/nf_conntrack_ecache.c
@@ -365,7 +365,7 @@ void nf_conntrack_register_notifier(stru
@@ -365,7 +365,7 @@ int nf_conntrack_register_notifier(struc
mutex_lock(&nf_ct_ecache_mutex);
notify = rcu_dereference_protected(net->ct.nf_conntrack_event_cb,
lockdep_is_held(&nf_ct_ecache_mutex));

View File

@ -1,6 +1,6 @@
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -48,6 +48,7 @@
@@ -49,6 +49,7 @@
#include <net/slhc_vj.h>
#include <linux/atomic.h>
#include <linux/refcount.h>
@ -8,7 +8,7 @@
#include <linux/nsproxy.h>
#include <net/net_namespace.h>
@@ -266,6 +267,25 @@ struct ppp_net {
@@ -267,6 +268,25 @@ struct ppp_net {
#define seq_before(a, b) ((s32)((a) - (b)) < 0)
#define seq_after(a, b) ((s32)((a) - (b)) > 0)
@ -34,7 +34,7 @@
/* Prototypes. */
static int ppp_unattached_ioctl(struct net *net, struct ppp_file *pf,
struct file *file, unsigned int cmd, unsigned long arg);
@@ -3478,7 +3498,10 @@ ppp_connect_channel(struct channel *pch,
@@ -3482,7 +3502,10 @@ ppp_connect_channel(struct channel *pch,
struct ppp_net *pn;
int ret = -ENXIO;
int hdrlen;
@ -45,7 +45,7 @@
pn = ppp_pernet(pch->chan_net);
mutex_lock(&pn->all_ppp_mutex);
@@ -3510,13 +3533,40 @@ ppp_connect_channel(struct channel *pch,
@@ -3518,13 +3541,40 @@ ppp_connect_channel(struct channel *pch,
++ppp->n_channels;
pch->ppp = ppp;
refcount_inc(&ppp->file.refcnt);
@ -87,7 +87,7 @@
return ret;
}
@@ -3534,6 +3584,13 @@ ppp_disconnect_channel(struct channel *p
@@ -3542,6 +3592,13 @@ ppp_disconnect_channel(struct channel *p
pch->ppp = NULL;
write_unlock_bh(&pch->upl);
if (ppp) {
@ -100,8 +100,8 @@
+
/* remove it from the ppp unit's list */
ppp_lock(ppp);
list_del(&pch->clist);
@@ -3613,6 +3670,222 @@ static void *unit_find(struct idr *p, in
list_del_rcu(&pch->clist);
@@ -3622,6 +3679,222 @@ static void *unit_find(struct idr *p, in
return idr_find(p, n);
}
@ -324,7 +324,7 @@
/* Module/initialization stuff */
module_init(ppp_init);
@@ -3629,6 +3902,7 @@ EXPORT_SYMBOL(ppp_input_error);
@@ -3638,6 +3911,7 @@ EXPORT_SYMBOL(ppp_input_error);
EXPORT_SYMBOL(ppp_output_wakeup);
EXPORT_SYMBOL(ppp_register_compressor);
EXPORT_SYMBOL(ppp_unregister_compressor);
@ -342,7 +342,7 @@
#include <linux/init.h>
#include <linux/if_ether.h>
#include <linux/if_pppox.h>
@@ -87,7 +88,7 @@
@@ -88,7 +89,7 @@
static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb);
static const struct proto_ops pppoe_ops;
@ -351,7 +351,7 @@
/* per-net private data for this module */
static unsigned int pppoe_net_id __read_mostly;
@@ -692,7 +693,7 @@ static int pppoe_connect(struct socket *
@@ -693,7 +694,7 @@ static int pppoe_connect(struct socket *
po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr) - 2;
po->chan.private = sk;
@ -360,7 +360,7 @@
po->chan.direct_xmit = true;
error = ppp_register_net_channel(dev_net(dev), &po->chan);
@@ -995,9 +996,80 @@ static int pppoe_fill_forward_path(struc
@@ -997,9 +998,80 @@ static int pppoe_fill_forward_path(struc
return 0;
}
@ -546,7 +546,7 @@
};
struct ppp_channel {
@@ -76,6 +90,51 @@ extern int ppp_unit_number(struct ppp_ch
@@ -75,6 +89,51 @@ extern int ppp_unit_number(struct ppp_ch
/* Get the device name associated with a channel, or NULL if none */
extern char *ppp_dev_name(struct ppp_channel *);

View File

@ -8,7 +8,7 @@
static const struct flow_dissector_key flow_keys_bonding_keys[] = {
{
@@ -5976,6 +5977,11 @@ static void bond_destructor(struct net_d
@@ -5989,6 +5990,11 @@ static void bond_destructor(struct net_d
if (bond->wq)
destroy_workqueue(bond->wq);
@ -20,7 +20,7 @@
free_percpu(bond->rr_tx_counter);
}
@@ -6531,6 +6537,13 @@ int bond_create(struct net *net, const c
@@ -6544,6 +6550,13 @@ int bond_create(struct net *net, const c
bond_work_init_all(bond);

View File

@ -73,7 +73,7 @@
case AD_MUX_COLLECTING_DISTRIBUTING:
port->actor_oper_port_state |= LACP_STATE_COLLECTING;
port->actor_oper_port_state |= LACP_STATE_DISTRIBUTING;
@@ -2054,6 +2112,7 @@ static void ad_enable_collecting_distrib
@@ -2060,6 +2118,7 @@ static void ad_enable_collecting_distrib
bool *update_slave_arr)
{
if (port->aggregator->is_active) {
@ -81,7 +81,7 @@
slave_dbg(port->slave->bond->dev, port->slave->dev,
"Enabling port %d (LAG %d)\n",
port->actor_port_number,
@@ -2061,6 +2120,16 @@ static void ad_enable_collecting_distrib
@@ -2067,6 +2126,16 @@ static void ad_enable_collecting_distrib
__enable_port(port);
/* Slave array needs update */
*update_slave_arr = true;
@ -98,7 +98,7 @@
}
}
@@ -2818,6 +2887,104 @@ int bond_3ad_get_active_agg_info(struct
@@ -2824,6 +2893,104 @@ int bond_3ad_get_active_agg_info(struct
return ret;
}
@ -227,7 +227,7 @@
/**
* bond_dev_queue_xmit - Prepare skb for xmit.
*
@@ -1306,6 +1321,23 @@ void bond_change_active_slave(struct bon
@@ -1308,6 +1323,23 @@ void bond_change_active_slave(struct bon
if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond_3ad_handle_link_change(new_active, BOND_LINK_UP);
@ -251,7 +251,7 @@
if (bond_is_lb(bond))
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
} else {
@@ -1950,6 +1982,7 @@ int bond_enslave(struct net_device *bond
@@ -1952,6 +1984,7 @@ int bond_enslave(struct net_device *bond
const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
struct slave *new_slave = NULL, *prev_slave;
struct sockaddr_storage ss;
@ -259,7 +259,7 @@
int link_reporting;
int res = 0, i;
@@ -2399,6 +2432,15 @@ int bond_enslave(struct net_device *bond
@@ -2412,6 +2445,15 @@ skip_mac_set:
bond_is_active_slave(new_slave) ? "an active" : "a backup",
new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
@ -275,7 +275,7 @@
/* enslave is successful */
bond_queue_slave_event(new_slave);
return 0;
@@ -2464,6 +2506,15 @@ err_undo_flags:
@@ -2477,6 +2519,15 @@ err_undo_flags:
}
}
@ -291,7 +291,7 @@
return res;
}
@@ -2485,6 +2536,7 @@ static int __bond_release_one(struct net
@@ -2498,6 +2549,7 @@ static int __bond_release_one(struct net
struct bonding *bond = netdev_priv(bond_dev);
struct slave *slave, *oldcurrent;
struct sockaddr_storage ss;
@ -299,7 +299,7 @@
int old_flags = bond_dev->flags;
netdev_features_t old_features = bond_dev->features;
@@ -2507,6 +2559,15 @@ static int __bond_release_one(struct net
@@ -2520,6 +2572,15 @@ static int __bond_release_one(struct net
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
@ -315,7 +315,7 @@
bond_sysfs_slave_del(slave);
/* recompute stats just before removing the slave */
@@ -2837,6 +2898,8 @@ static void bond_miimon_commit(struct bo
@@ -2850,6 +2911,8 @@ static void bond_miimon_commit(struct bo
struct slave *slave, *primary, *active;
bool do_failover = false;
struct list_head *iter;
@ -324,7 +324,7 @@
ASSERT_RTNL();
@@ -2876,6 +2939,12 @@ static void bond_miimon_commit(struct bo
@@ -2889,6 +2952,12 @@ static void bond_miimon_commit(struct bo
bond_set_active_slave(slave);
}
@ -337,7 +337,7 @@
slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n",
slave->speed == SPEED_UNKNOWN ? 0 : slave->speed,
slave->duplex ? "full" : "half");
@@ -2924,6 +2993,16 @@ static void bond_miimon_commit(struct bo
@@ -2937,6 +3006,16 @@ static void bond_miimon_commit(struct bo
unblock_netpoll_tx();
}
@ -354,7 +354,7 @@
bond_set_carrier(bond);
}
@@ -4176,8 +4255,224 @@ static inline u32 bond_eth_hash(struct s
@@ -4189,8 +4268,224 @@ static inline u32 bond_eth_hash(struct s
return 0;
ep = (struct ethhdr *)(data + mhoff);
@ -580,7 +580,7 @@
static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data,
int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34)
@@ -5306,15 +5601,18 @@ static netdev_tx_t bond_3ad_xor_xmit(str
@@ -5319,15 +5614,18 @@ static netdev_tx_t bond_3ad_xor_xmit(str
struct net_device *dev)
{
struct bonding *bond = netdev_priv(dev);
@ -606,7 +606,7 @@
}
/* in broadcast mode, we send everything to all usable interfaces. */
@@ -5564,8 +5862,9 @@ static netdev_tx_t __bond_start_xmit(str
@@ -5577,8 +5875,9 @@ static netdev_tx_t __bond_start_xmit(str
return bond_xmit_roundrobin(skb, dev);
case BOND_MODE_ACTIVEBACKUP:
return bond_xmit_activebackup(skb, dev);
@ -619,10 +619,10 @@
return bond_xmit_broadcast(skb, dev);
--- a/include/net/bond_3ad.h
+++ b/include/net/bond_3ad.h
@@ -307,8 +307,15 @@ int bond_3ad_lacpdu_recv(const struct sk
struct slave *slave);
@@ -308,6 +308,14 @@ int bond_3ad_lacpdu_recv(const struct sk
int bond_3ad_set_carrier(struct bonding *bond);
void bond_3ad_update_lacp_rate(struct bonding *bond);
void bond_3ad_update_lacp_active(struct bonding *bond);
+/* QCA NSS ECM bonding support */
+struct net_device *bond_3ad_get_tx_dev(struct sk_buff *skb, uint8_t *src_mac,
+ uint8_t *dst_mac, void *src,
@ -634,8 +634,6 @@
void bond_3ad_update_ad_actor_settings(struct bonding *bond);
int bond_3ad_stats_fill(struct sk_buff *skb, struct bond_3ad_stats *stats);
size_t bond_3ad_stats_size(void);
#endif /* _NET_BOND_3AD_H */
-
--- a/include/net/bonding.h
+++ b/include/net/bonding.h
@@ -90,6 +90,8 @@

View File

@ -1,6 +1,6 @@
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -174,6 +174,13 @@ config NF_CONNTRACK_TIMEOUT
@@ -182,6 +182,13 @@ config NF_CONNTRACK_TIMEOUT
If unsure, say `N'.
@ -79,7 +79,7 @@
#include <net/netfilter/nf_conntrack_labels.h>
#include <net/netfilter/nf_conntrack_synproxy.h>
#include <net/netfilter/nf_nat.h>
@@ -1784,6 +1787,9 @@ init_conntrack(struct net *net, struct n
@@ -1798,6 +1801,9 @@ init_conntrack(struct net *net, struct n
nf_ct_acct_ext_add(ct, GFP_ATOMIC);
nf_ct_tstamp_ext_add(ct, GFP_ATOMIC);
nf_ct_labels_ext_add(ct);

View File

@ -15,7 +15,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -3919,10 +3919,6 @@ int ip6_route_add(struct fib6_config *cf
@@ -3920,10 +3920,6 @@ int ip6_route_add(struct fib6_config *cf
return PTR_ERR(rt);
err = __ip6_ins_rt(rt, &cfg->fc_nlinfo, extack);
@ -26,7 +26,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
fib6_info_release(rt);
return err;
@@ -3944,9 +3940,6 @@ static int __ip6_del_rt(struct fib6_info
@@ -3945,9 +3941,6 @@ static int __ip6_del_rt(struct fib6_info
err = fib6_del(rt, info);
spin_unlock_bh(&table->tb6_lock);
@ -36,7 +36,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
out:
fib6_info_release(rt);
return err;
@@ -4558,6 +4551,10 @@ int ipv6_route_ioctl(struct net *net, un
@@ -4559,6 +4552,10 @@ int ipv6_route_ioctl(struct net *net, un
break;
}
rtnl_unlock();
@ -47,7 +47,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
return err;
}
@@ -5580,11 +5577,17 @@ static int inet6_rtm_delroute(struct sk_
@@ -5582,11 +5579,17 @@ static int inet6_rtm_delroute(struct sk_
}
if (cfg.fc_mp)
@ -67,7 +67,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
}
static int inet6_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh,
@@ -5601,9 +5604,15 @@ static int inet6_rtm_newroute(struct sk_
@@ -5603,9 +5606,15 @@ static int inet6_rtm_newroute(struct sk_
cfg.fc_metric = IP6_RT_PRIO_USER;
if (cfg.fc_mp)

View File

@ -10,7 +10,7 @@ Subject: [PATCH] Update 607-qca-add-add-nss-bridge-mgr-support.patch for kernel
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -254,4 +254,8 @@ typedef struct net_bridge_port *br_get_d
@@ -257,4 +257,8 @@ typedef struct net_bridge_port *br_get_d
extern br_get_dst_hook_t __rcu *br_get_dst_hook;
/* QCA NSS ECM support - End */

View File

@ -42,7 +42,7 @@
dev->needs_free_netdev = true;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -4675,6 +4675,15 @@ void dev_uc_flush(struct net_device *dev
@@ -4677,6 +4677,15 @@ void dev_uc_flush(struct net_device *dev
void dev_uc_init(struct net_device *dev);
/**
@ -58,7 +58,7 @@
* __dev_uc_sync - Synchronize device's unicast list
* @dev: device to sync
* @sync: function to call if address should be added
@@ -5231,6 +5240,11 @@ static inline bool netif_is_failover_sla
@@ -5233,6 +5242,11 @@ static inline bool netif_is_failover_sla
return dev->priv_flags & IFF_FAILOVER_SLAVE;
}
@ -421,7 +421,7 @@
/* Reset all TX qdiscs greater than index of a device. */
static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i)
{
@@ -1356,4 +1393,9 @@ static inline void qdisc_synchronize(con
@@ -1371,4 +1408,9 @@ static inline void qdisc_synchronize(con
msleep(1);
}

View File

@ -51,7 +51,7 @@
#endif /* !(__LINUX_IF_PPPOX_H) */
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -2998,6 +2998,20 @@ char *ppp_dev_name(struct ppp_channel *c
@@ -3002,6 +3002,20 @@ char *ppp_dev_name(struct ppp_channel *c
return name;
}
@ -72,7 +72,7 @@
/*
* Disconnect a channel from the generic layer.
@@ -3706,6 +3720,28 @@ void ppp_update_stats(struct net_device
@@ -3715,6 +3729,28 @@ void ppp_update_stats(struct net_device
ppp_recv_unlock(ppp);
}
@ -101,7 +101,7 @@
/* Returns >0 if the device is a multilink PPP netdevice, 0 if not or < 0 if
* the device is not PPP.
*/
@@ -3897,6 +3933,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
@@ -3906,6 +3942,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
EXPORT_SYMBOL(ppp_channel_index);
EXPORT_SYMBOL(ppp_unit_number);
EXPORT_SYMBOL(ppp_dev_name);
@ -111,7 +111,7 @@
EXPORT_SYMBOL(ppp_output_wakeup);
--- a/include/linux/ppp_channel.h
+++ b/include/linux/ppp_channel.h
@@ -84,6 +84,9 @@ extern void ppp_unregister_channel(struc
@@ -83,6 +83,9 @@ extern void ppp_unregister_channel(struc
/* Get the channel number for a channel */
extern int ppp_channel_index(struct ppp_channel *);
@ -121,7 +121,7 @@
/* Get the unit number associated with a channel, or -1 if none */
extern int ppp_unit_number(struct ppp_channel *);
@@ -116,6 +119,7 @@ extern int ppp_hold_channels(struct net_
@@ -115,6 +118,7 @@ extern int ppp_hold_channels(struct net_
/* Test if ppp xmit lock is locked */
extern bool ppp_is_xmit_locked(struct net_device *dev);
@ -229,8 +229,8 @@
RT_SCOPE_UNIVERSE, IPPROTO_GRE, 0,
po->proto.pptp.dst_addr.sin_addr.s_addr,
po->proto.pptp.src_addr.sin_addr.s_addr,
@@ -163,8 +238,11 @@ static int pptp_xmit(struct ppp_channel
@@ -161,8 +236,11 @@ static int pptp_xmit(struct ppp_channel
__u32 seq_recv;
struct rtable *rt;
struct net_device *tdev;
+ struct net_device *pptp_dev;
@ -240,8 +240,8 @@
+ int ret;
if (sk_pppox(po)->sk_state & PPPOX_DEAD)
goto tx_error;
@@ -258,7 +336,32 @@ static int pptp_xmit(struct ppp_channel
goto tx_drop;
@@ -260,7 +338,32 @@ static int pptp_xmit(struct ppp_channel
ip_select_ident(net, skb, NULL);
ip_send_check(iph);
@ -275,7 +275,7 @@
return 1;
tx_error:
@@ -314,6 +417,13 @@ static int pptp_rcv_core(struct sock *sk
@@ -318,6 +421,13 @@ static int pptp_rcv_core(struct sock *sk
goto drop;
payload = skb->data + headersize;
@ -289,7 +289,7 @@
/* check for expected sequence number */
if (seq < opt->seq_recv + 1 || WRAPPED(opt->seq_recv, seq)) {
if ((payload[0] == PPP_ALLSTATIONS) && (payload[1] == PPP_UI) &&
@@ -371,6 +481,7 @@ static int pptp_rcv(struct sk_buff *skb)
@@ -375,6 +485,7 @@ static int pptp_rcv(struct sk_buff *skb)
if (po) {
skb_dst_drop(skb);
nf_reset_ct(skb);
@ -297,7 +297,7 @@
return sk_receive_skb(sk_pppox(po), skb, 0);
}
drop:
@@ -473,7 +584,7 @@ static int pptp_connect(struct socket *s
@@ -478,7 +589,7 @@ static int pptp_connect(struct socket *s
opt->dst_addr = sp->sa_addr.pptp;
sk->sk_state |= PPPOX_CONNECTED;
@ -306,7 +306,7 @@
end:
release_sock(sk);
return error;
@@ -603,9 +714,169 @@ static int pptp_ppp_ioctl(struct ppp_cha
@@ -608,9 +719,169 @@ static int pptp_ppp_ioctl(struct ppp_cha
return err;
}

View File

@ -22,7 +22,7 @@
#endif /* __NET_IP_TUNNELS_H */
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -2411,6 +2411,26 @@ nla_put_failure:
@@ -2412,6 +2412,26 @@ nla_put_failure:
return -EMSGSIZE;
}
@ -51,7 +51,7 @@
struct ip6_tnl *tunnel = netdev_priv(dev);
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -1734,6 +1734,23 @@ nla_put_failure:
@@ -1735,6 +1735,23 @@ nla_put_failure:
return -EMSGSIZE;
}

View File

@ -1,6 +1,6 @@
--- a/include/linux/ppp_channel.h
+++ b/include/linux/ppp_channel.h
@@ -61,6 +61,51 @@ struct ppp_channel {
@@ -60,6 +60,51 @@ struct ppp_channel {
};
#ifdef __KERNEL__
@ -52,7 +52,7 @@
/* Called by the channel when it can send some more data. */
extern void ppp_output_wakeup(struct ppp_channel *);
@@ -148,5 +193,17 @@ extern void ppp_update_stats(struct net_
@@ -147,5 +192,17 @@ extern void ppp_update_stats(struct net_
* that ppp_unregister_channel returns.
*/
@ -147,9 +147,9 @@
- po->chan.ops = &pppol2tp_chan_ops;
+ po->chan.ops = (struct ppp_channel_ops *)&pppol2tp_chan_ops.ops;
po->chan.mtu = pppol2tp_tunnel_mtu(tunnel);
po->chan.direct_xmit = true;
error = ppp_register_net_channel(sock_net(sk), &po->chan);
@@ -1720,6 +1735,109 @@ static void __exit pppol2tp_exit(void)
@@ -1721,6 +1736,109 @@ static void __exit pppol2tp_exit(void)
unregister_pernet_device(&pppol2tp_net_ops);
}
@ -261,7 +261,7 @@
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -3768,6 +3768,32 @@ int ppp_is_multilink(struct net_device *
@@ -3777,6 +3777,32 @@ int ppp_is_multilink(struct net_device *
}
EXPORT_SYMBOL(ppp_is_multilink);
@ -294,7 +294,7 @@
/* ppp_channel_get_protocol()
* Call this to obtain the underlying protocol of the PPP channel,
* e.g. PX_PROTO_OE
@@ -3906,6 +3932,59 @@ int ppp_hold_channels(struct net_device
@@ -3915,6 +3941,59 @@ int ppp_hold_channels(struct net_device
}
EXPORT_SYMBOL(ppp_hold_channels);

View File

@ -1,6 +1,6 @@
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -2417,7 +2417,7 @@ nla_put_failure:
@@ -2418,7 +2418,7 @@ nla_put_failure:
*/
void ip6_update_offload_stats(struct net_device *dev, void *ptr)
{
@ -11,7 +11,7 @@
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -1737,7 +1737,7 @@ nla_put_failure:
@@ -1738,7 +1738,7 @@ nla_put_failure:
/* QCA NSS Clients Support - Start */
void ipip6_update_offload_stats(struct net_device *dev, void *ptr)
{

View File

@ -1,6 +1,6 @@
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -258,4 +258,17 @@ extern br_get_dst_hook_t __rcu *br_get_d
@@ -261,4 +261,17 @@ extern br_get_dst_hook_t __rcu *br_get_d
extern struct net_device *br_fdb_bridge_dev_get_and_hold(struct net_bridge *br);
/* QCA NSS bridge-mgr support - End */
@ -39,7 +39,7 @@
* added to the bridge private HW address list and all required ports
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -912,6 +912,7 @@ void br_manage_promisc(struct net_bridge
@@ -915,6 +915,7 @@ void br_manage_promisc(struct net_bridge
int nbp_backup_change(struct net_bridge_port *p, struct net_device *backup_dev);
/* br_input.c */
@ -47,7 +47,7 @@
int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb);
rx_handler_func_t *br_get_rx_handler(const struct net_device *dev);
@@ -2294,4 +2295,14 @@ struct nd_msg *br_is_nd_neigh_msg(struct
@@ -2306,4 +2307,14 @@ struct nd_msg *br_is_nd_neigh_msg(struct
bool br_is_neigh_suppress_enabled(const struct net_bridge_port *p, u16 vid);
#define __br_get(__hook, __default, __args ...) \
(__hook ? (__hook(__args)) : (__default)) /* QCA NSS ECM support */

View File

@ -33,7 +33,7 @@
#include <linux/err.h>
#include <linux/module.h>
#include <net/ip.h>
@@ -657,6 +658,7 @@ static int esp_output(struct xfrm_state
@@ -618,6 +619,7 @@ static int esp_output(struct xfrm_state
struct ip_esp_hdr *esph;
struct crypto_aead *aead;
struct esp_info esp;
@ -41,7 +41,7 @@
esp.inplace = true;
@@ -668,6 +670,11 @@ static int esp_output(struct xfrm_state
@@ -629,6 +631,11 @@ static int esp_output(struct xfrm_state
aead = x->data;
alen = crypto_aead_authsize(aead);
@ -53,7 +53,7 @@
esp.tfclen = 0;
if (x->tfcpad) {
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
@@ -888,6 +895,7 @@ static int esp_input(struct xfrm_state *
@@ -849,6 +856,7 @@ static int esp_input(struct xfrm_state *
u8 *iv;
struct scatterlist *sg;
int err = -EINVAL;
@ -61,7 +61,7 @@
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
goto out;
@@ -895,6 +903,12 @@ static int esp_input(struct xfrm_state *
@@ -856,6 +864,12 @@ static int esp_input(struct xfrm_state *
if (elen <= 0)
goto out;
@ -84,7 +84,7 @@
#include <linux/err.h>
#include <linux/module.h>
#include <net/ip.h>
@@ -689,6 +690,7 @@ static int esp6_output(struct xfrm_state
@@ -650,6 +651,7 @@ static int esp6_output(struct xfrm_state
struct ip_esp_hdr *esph;
struct crypto_aead *aead;
struct esp_info esp;
@ -92,7 +92,7 @@
esp.inplace = true;
@@ -700,6 +702,11 @@ static int esp6_output(struct xfrm_state
@@ -661,6 +663,11 @@ static int esp6_output(struct xfrm_state
aead = x->data;
alen = crypto_aead_authsize(aead);
@ -104,7 +104,7 @@
esp.tfclen = 0;
if (x->tfcpad) {
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
@@ -926,6 +933,7 @@ static int esp6_input(struct xfrm_state
@@ -887,6 +894,7 @@ static int esp6_input(struct xfrm_state
__be32 *seqhi;
u8 *iv;
struct scatterlist *sg;
@ -112,7 +112,7 @@
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) {
ret = -EINVAL;
@@ -937,6 +945,12 @@ static int esp6_input(struct xfrm_state
@@ -898,6 +906,12 @@ static int esp6_input(struct xfrm_state
goto out;
}

View File

@ -32,7 +32,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -128,6 +128,12 @@ int br_vlan_get_info_rcu(const struct ne
@@ -131,6 +131,12 @@ int br_vlan_get_info_rcu(const struct ne
bool br_mst_enabled(const struct net_device *dev);
int br_mst_get_info(const struct net_device *dev, u16 msti, unsigned long *vids);
int br_mst_get_state(const struct net_device *dev, u16 msti, u8 *state);
@ -45,7 +45,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
#else
static inline bool br_vlan_enabled(const struct net_device *dev)
{
@@ -149,8 +155,27 @@ static inline int br_vlan_get_pvid_rcu(c
@@ -152,8 +158,27 @@ static inline int br_vlan_get_pvid_rcu(c
return -EINVAL;
}
@ -90,7 +90,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
if (err)
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -800,9 +800,12 @@ struct net_device *br_port_dev_get(struc
@@ -822,9 +822,12 @@ struct net_device *br_port_dev_get(struc
struct sk_buff *skb,
unsigned int cookie)
{
@ -103,7 +103,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
/* Is this a bridge? */
if (!(dev->priv_flags & IFF_EBRIDGE))
@@ -831,14 +834,20 @@ struct net_device *br_port_dev_get(struc
@@ -853,14 +856,20 @@ struct net_device *br_port_dev_get(struc
* determine the port to use - fall back to using FDB
*/
@ -128,7 +128,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
return netdev;
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -1587,6 +1587,7 @@ void br_vlan_fill_forward_path_pvid(stru
@@ -1596,6 +1596,7 @@ void br_vlan_fill_forward_path_pvid(stru
int br_vlan_fill_forward_path_mode(struct net_bridge *br,
struct net_bridge_port *dst,
struct net_device_path *path);
@ -138,7 +138,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
const struct net_bridge *br)
--- a/net/bridge/br_vlan.c
+++ b/net/bridge/br_vlan.c
@@ -933,8 +933,190 @@ int br_vlan_get_proto(const struct net_d
@@ -935,8 +935,190 @@ int br_vlan_get_proto(const struct net_d
}
EXPORT_SYMBOL_GPL(br_vlan_get_proto);
@ -330,7 +330,7 @@ Signed-off-by: Vishnu Vardhan Bantanahal <quic_vishvard@quicinc.com>
{
struct switchdev_attr attr = {
.orig_dev = br->dev,
@@ -1068,7 +1250,7 @@ static bool vlan_default_pvid(struct net
@@ -1070,7 +1252,7 @@ static bool vlan_default_pvid(struct net
return false;
}

View File

@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -834,6 +834,102 @@
@@ -844,6 +844,102 @@
};
};

View File

@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -1186,6 +1186,7 @@
@@ -1196,6 +1196,7 @@
wcss_smp2p_out: master-kernel {
qcom,entry-name = "master-kernel";

View File

@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -955,8 +955,8 @@
@@ -965,8 +965,8 @@
"wcss_reset",
"wcss_q6_reset";

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -15,7 +15,7 @@
@@ -16,7 +16,7 @@
#size-cells = <2>;
interrupt-parent = <&intc>;