All patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-6.1 = .33
-LINUX_KERNEL_HASH-6.1.33 = b87d6ba8ea7328e8007a7ea9171d1aa0d540d95eacfcab09578e0a3b623dd2cd
\ No newline at end of file
+LINUX_VERSION-6.1 = .34
+LINUX_KERNEL_HASH-6.1.34 = b26f7cbcbf8031efc49f11f236f372fc34a4fd5fc6ad3151b893d1aa038ed603
\ No newline at end of file
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
-@@ -285,9 +285,7 @@ int bcmgenet_mii_probe(struct net_device
+@@ -290,9 +290,7 @@ int bcmgenet_mii_probe(struct net_device
struct device_node *dn = kdev->of_node;
phy_interface_t phy_iface = priv->phy_interface;
struct phy_device *phydev;
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2660,7 +2660,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2657,7 +2657,7 @@ static void bcmgenet_init_tx_ring(struct
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
/* Disable rate control for now */
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
TDMA_FLOW_PERIOD);
-@@ -4141,9 +4141,12 @@ static int bcmgenet_probe(struct platfor
+@@ -4138,9 +4138,12 @@ static int bcmgenet_probe(struct platfor
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
/* Set default coalescing parameters */
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
-@@ -291,6 +291,8 @@ int bcmgenet_mii_probe(struct net_device
+@@ -296,6 +296,8 @@ int bcmgenet_mii_probe(struct net_device
/* Communicate the integrated PHY revision */
if (priv->internal_phy)
phy_flags = priv->gphy_rev;
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
-@@ -2491,6 +2494,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -2488,6 +2491,11 @@ static void reset_umac(struct bcmgenet_p
bcmgenet_rbuf_ctrl_set(priv, 0);
udelay(10);
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -3307,7 +3307,7 @@ static void bcmgenet_get_hw_addr(struct
+@@ -3304,7 +3304,7 @@ static void bcmgenet_get_hw_addr(struct
}
/* Returns a reusable dma control register value */
{
unsigned int i;
u32 reg;
-@@ -3332,6 +3332,14 @@ static u32 bcmgenet_dma_disable(struct b
+@@ -3329,6 +3329,14 @@ static u32 bcmgenet_dma_disable(struct b
udelay(10);
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
return dma_ctrl;
}
-@@ -3395,8 +3403,8 @@ static int bcmgenet_open(struct net_devi
+@@ -3392,8 +3400,8 @@ static int bcmgenet_open(struct net_devi
bcmgenet_set_hw_addr(priv, dev->dev_addr);
/* Reinitialize TDMA and RDMA and SW housekeeping */
ret = bcmgenet_init_dma(priv);
-@@ -4270,7 +4278,7 @@ static int bcmgenet_resume(struct device
+@@ -4267,7 +4275,7 @@ static int bcmgenet_resume(struct device
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
/* Disable RX/TX DMA and flush TX queues */
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
-@@ -3441,6 +3444,17 @@ static int bcmgenet_open(struct net_devi
+@@ -3438,6 +3441,17 @@ static int bcmgenet_open(struct net_devi
bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause);
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4529,6 +4529,7 @@ static const struct {
+@@ -4540,6 +4540,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4557,7 +4558,9 @@ static int hci_dev_setup_sync(struct hci
+@@ -4568,7 +4569,9 @@ static int hci_dev_setup_sync(struct hci
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks)) {
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
-@@ -2702,7 +2702,7 @@ int nf_conntrack_init_start(void)
+@@ -2705,7 +2705,7 @@ int nf_conntrack_init_start(void)
if (!nf_conntrack_htable_size) {
nf_conntrack_htable_size
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1704,6 +1704,7 @@ enum netdev_priv_flags {
+@@ -1707,6 +1707,7 @@ enum netdev_priv_flags {
IFF_LIVE_RENAME_OK = 1<<30,
IFF_TX_SKB_NO_LINEAR = BIT_ULL(31),
IFF_CHANGE_PROTO_DOWN = BIT_ULL(32),
};
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
-@@ -1738,6 +1739,7 @@ enum netdev_priv_flags {
+@@ -1741,6 +1742,7 @@ enum netdev_priv_flags {
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK
#define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR
/* Specifies the type of the struct net_device::ml_priv pointer */
enum netdev_ml_priv_type {
-@@ -2106,6 +2108,11 @@ struct net_device {
+@@ -2109,6 +2111,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops;
#endif
const struct header_ops *header_ops;
unsigned char operstate;
-@@ -2181,6 +2188,10 @@ struct net_device {
+@@ -2184,6 +2191,10 @@ struct net_device {
struct mctp_dev __rcu *mctp_ptr;
#endif
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
// 2500MBd NRZ in their EEPROM
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),
-@@ -2334,7 +2337,8 @@ static void sfp_sm_main(struct sfp *sfp,
+@@ -2339,7 +2342,8 @@ static void sfp_sm_main(struct sfp *sfp,
* or t_start_up, so assume there is a fault.
*/
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
init_done:
/* Create mdiobus and start trying for PHY */
-@@ -2563,10 +2567,12 @@ static void sfp_check_state(struct sfp *
+@@ -2568,10 +2572,12 @@ static void sfp_check_state(struct sfp *
mutex_lock(&sfp->st_mutex);
state = sfp_get_state(sfp);
changed = state ^ sfp->state;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -2132,6 +2132,8 @@ struct net_device {
+@@ -2135,6 +2135,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -7606,6 +7606,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7608,6 +7608,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -7657,6 +7699,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7659,6 +7701,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7753,6 +7796,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -7755,6 +7798,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8805,6 +8849,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8807,6 +8851,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -2167,7 +2167,7 @@ struct net_device {
+@@ -2170,7 +2170,7 @@ struct net_device {
#if IS_ENABLED(CONFIG_AX25)
void *ax25_ptr;
#endif
/**
* napi_disable - prevent NAPI from scheduling
-@@ -3127,6 +3128,7 @@ struct softnet_data {
+@@ -3130,6 +3131,7 @@ struct softnet_data {
unsigned int processed;
unsigned int time_squeeze;
unsigned int received_rps;
#endif
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4606,7 +4606,7 @@ static int napi_schedule_rps(struct soft
+@@ -4608,7 +4608,7 @@ static int napi_schedule_rps(struct soft
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
#ifdef CONFIG_RPS
sd->rps_ipi_next = mysd->rps_ipi_list;
mysd->rps_ipi_list = sd;
-@@ -5787,6 +5787,8 @@ static DEFINE_PER_CPU(struct work_struct
+@@ -5789,6 +5789,8 @@ static DEFINE_PER_CPU(struct work_struct
/* Network device is going away, flush any packets still pending */
static void flush_backlog(struct work_struct *work)
{
struct sk_buff *skb, *tmp;
struct softnet_data *sd;
-@@ -5801,8 +5803,17 @@ static void flush_backlog(struct work_st
+@@ -5803,8 +5805,17 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
-@@ -5810,7 +5821,16 @@ static void flush_backlog(struct work_st
+@@ -5812,7 +5823,16 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
}
static bool flush_required(int cpu)
-@@ -5942,6 +5962,7 @@ static int process_backlog(struct napi_s
+@@ -5944,6 +5964,7 @@ static int process_backlog(struct napi_s
}
rps_lock_irq_disable(sd);
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
* Inline a custom version of __napi_complete().
-@@ -5951,7 +5972,8 @@ static int process_backlog(struct napi_s
+@@ -5953,7 +5974,8 @@ static int process_backlog(struct napi_s
* We can use a plain write instead of clear_bit(),
* and we dont need an smp_mb() memory barrier.
*/
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6367,6 +6389,55 @@ int dev_set_threaded(struct net_device *
+@@ -6369,6 +6391,55 @@ int dev_set_threaded(struct net_device *
}
EXPORT_SYMBOL(dev_set_threaded);
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -11139,6 +11210,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11141,6 +11212,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
-@@ -11442,6 +11516,7 @@ static int __init net_dev_init(void)
+@@ -11444,6 +11518,7 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
spin_lock_init(&sd->defer_lock);