<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/ethernet/broadcom, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-04-17T04:15:56Z</updated>
<entry>
<title>Merge tag 'for-linus-fwctl' of git://git.kernel.org/pub/scm/linux/kernel/git/fwctl/fwctl</title>
<updated>2026-04-17T04:15:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-04-17T04:15:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=87fe97a184c000a3941e2b53671742993abb1ddc'/>
<id>urn:sha1:87fe97a184c000a3941e2b53671742993abb1ddc</id>
<content type='text'>
Pull fwctl updates from Jason Gunthorpe:

 - New fwctl driver for Broadcom RDMA NICs

 - Bug fix for non-modular builds

* tag 'for-linus-fwctl' of git://git.kernel.org/pub/scm/linux/kernel/git/fwctl/fwctl:
  fwctl: Fix class init ordering to avoid NULL pointer dereference on device removal
  fwctl/bnxt_fwctl: Add documentation entries
  fwctl/bnxt_fwctl: Add bnxt fwctl device
  fwctl/bnxt_en: Create an aux device for fwctl
  fwctl/bnxt_en: Refactor aux bus functions to be more generic
  fwctl/bnxt_en: Move common definitions to include/linux/bnxt/
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2026-04-14T19:04:00Z</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2026-04-14T18:54:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=35c2c39832e569449b9192fa1afbbc4c66227af7'/>
<id>urn:sha1:35c2c39832e569449b9192fa1afbbc4c66227af7</id>
<content type='text'>
Merge in late fixes in preparation for the net-next PR.

Conflicts:

include/net/sch_generic.h
  a6bd339dbb351 ("net_sched: fix skb memory leak in deferred qdisc drops")
  ff2998f29f390 ("net: sched: introduce qdisc-specific drop reason tracing")
https://lore.kernel.org/adz0iX85FHMz0HdO@sirena.org.uk

drivers/net/ethernet/airoha/airoha_eth.c
  1acdfbdb516b ("net: airoha: Fix VIP configuration for AN7583 SoC")
  bf3471e6e6c0 ("net: airoha: Make flow control source port mapping dependent on nbq parameter")

Adjacent changes:

drivers/net/ethernet/airoha/airoha_ppe.c
  f44218cd5e6a ("net: airoha: Reset PPE cpu port configuration in airoha_ppe_hw_init()")
  7da62262ec96 ("inet: add ip_local_port_step_width sysctl to improve port usage distribution")

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bnge: return after auxiliary_device_uninit() in error path</title>
<updated>2026-04-13T22:59:48Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2026-04-11T10:45:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8b0c25528cb64f71a73b5c0d49cbbcb68540a4ce'/>
<id>urn:sha1:8b0c25528cb64f71a73b5c0d49cbbcb68540a4ce</id>
<content type='text'>
When auxiliary_device_add() fails, the error block calls
auxiliary_device_uninit() but does not return.  The uninit drops the
last reference and synchronously runs bnge_aux_dev_release(), which sets
bd-&gt;auxr_dev = NULL and frees the underlying object.  The subsequent
bd-&gt;auxr_dev-&gt;net = bd-&gt;netdev then dereferences NULL, which is not a
good thing to have happen when trying to clean up from an error.

Add the missing return, as the auxiliary bus documentation states is a
requirement (seems that LLM tools read documentation better than humans
do...)

Cc: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Cc: Andrew Lunn &lt;andrew+netdev@lunn.ch&gt;
Fixes: 8ac050ec3b1c ("bng_en: Add RoCE aux device support")
Cc: stable &lt;stable@kernel.org&gt;
Assisted-by: gregkh_clanker_t1000
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Link: https://patch.msgid.link/2026041124-banshee-molecular-0f70@gregkh
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: add support for ethtool -S stats display</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bcc0f4c0f257135a37b674382efcaef4a257642f'/>
<id>urn:sha1:bcc0f4c0f257135a37b674382efcaef4a257642f</id>
<content type='text'>
Implement the legacy ethtool statistics interface (get_sset_count,
get_strings, get_ethtool_stats) to expose hardware counters not
available through standard kernel stats APIs.

Ex:
a) Per-queue ring stats
     rxq0_ucast_packets: 2
     rxq0_mcast_packets: 0
     rxq0_bcast_packets: 15
     rxq0_ucast_bytes: 120
     rxq0_mcast_bytes: 0
     rxq0_bcast_bytes: 900
     txq0_ucast_packets: 0
     txq0_mcast_packets: 0
     txq0_bcast_packets: 0
     txq0_ucast_bytes: 0
     txq0_mcast_bytes: 0
     txq0_bcast_bytes: 0

b) Per-queue TPA(LRO/GRO) stats
     rxq4_tpa_eligible_pkt: 0
     rxq4_tpa_eligible_bytes: 0
     rxq4_tpa_pkt: 0
     rxq4_tpa_bytes: 0
     rxq4_tpa_errors: 0
     rxq4_tpa_events: 0

c) Port level stats
     rxp_good_vlan_frames: 0
     rxp_mtu_err_frames: 0
     rxp_tagged_frames: 0
     rxp_double_tagged_frames: 0
     rxp_pfc_ena_frames_pri0: 0
     rxp_pfc_ena_frames_pri1: 0
     rxp_pfc_ena_frames_pri2: 0
     rxp_pfc_ena_frames_pri3: 0
     rxp_pfc_ena_frames_pri4: 0
     rxp_pfc_ena_frames_pri5: 0
     rxp_pfc_ena_frames_pri6: 0
     rxp_pfc_ena_frames_pri7: 0
     rxp_eee_lpi_events: 0
     rxp_eee_lpi_duration: 0
     rxp_runt_bytes: 0
     rxp_runt_frames: 0
     txp_good_vlan_frames: 0
     txp_jabber_frames: 0
     txp_fcs_err_frames: 0
     txp_pfc_ena_frames_pri0: 0
     txp_pfc_ena_frames_pri1: 0
     txp_pfc_ena_frames_pri2: 0
     txp_pfc_ena_frames_pri3: 0
     txp_pfc_ena_frames_pri4: 0
     txp_pfc_ena_frames_pri5: 0
     txp_pfc_ena_frames_pri6: 0
     txp_pfc_ena_frames_pri7: 0
     txp_eee_lpi_events: 0
     txp_eee_lpi_duration: 0
     txp_xthol_frames: 0

d) Per-priority stats
     rx_bytes_pri0: 4182650
     rx_bytes_pri1: 4182650
     rx_bytes_pri2: 4182650
     rx_bytes_pri3: 4182650
     rx_bytes_pri4: 4182650
     rx_bytes_pri5: 4182650
     rx_bytes_pri6: 4182650
     rx_bytes_pri7: 4182650

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-11-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: implement netdev_stat_ops</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c1da271f0d35b2c043a0b7cd58b3683a3776b135'/>
<id>urn:sha1:c1da271f0d35b2c043a0b7cd58b3683a3776b135</id>
<content type='text'>
Implement netdev_stat_ops to provide standardized per-queue
statistics via the Netlink API.

Below is the description of the hardware drop counters:

rx-hw-drop-overruns: Packets dropped by HW due to resource limitations
(e.g., no BDs available in the host ring).
rx-hw-drops: Total packets dropped by HW (sum of overruns and error
drops).
tx-hw-drop-errors: Packets dropped by HW because they were invalid or
malformed.
tx-hw-drops: Total packets dropped by HW (sum of resource limitations
and error drops).

The implementation was verified using the ynl tool:

./tools/net/ynl/pyynl/cli.py --spec \
Documentation/netlink/specs/netdev.yaml --dump qstats-get --json \
'{"ifindex":14, "scope":"queue"}'

[{'ifindex': 14, 'queue-id': 0, 'queue-type': 'rx', 'rx-bytes': 758,
'rx-hw-drop-overruns': 0, 'rx-hw-drops': 0, 'rx-packets': 11},
 {'ifindex': 14, 'queue-id': 1, 'queue-type': 'rx', 'rx-bytes': 0,
'rx-hw-drop-overruns': 0, 'rx-hw-drops': 0, 'rx-packets': 0},
{'ifindex': 14, 'queue-id': 0, 'queue-type': 'tx', 'tx-bytes': 0,
'tx-hw-drop-errors': 0, 'tx-hw-drops': 0, 'tx-packets': 0},
 {'ifindex': 14, 'queue-id': 1, 'queue-type': 'tx', 'tx-bytes': 0,
'tx-hw-drop-errors': 0, 'tx-hw-drops': 0, 'tx-packets': 0},
 {'ifindex': 14, 'queue-id': 2, 'queue-type': 'tx', 'tx-bytes': 810,
'tx-hw-drop-errors': 0, 'tx-hw-drops': 0, 'tx-packets': 10},]

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-10-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: implement ndo_get_stats64</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d4f802eb4e7d4eb786db9ce2a6d50eed7cbf4e5c'/>
<id>urn:sha1:d4f802eb4e7d4eb786db9ce2a6d50eed7cbf4e5c</id>
<content type='text'>
Implement the ndo_get_stats64 callback to report aggregate network
statistics. The driver gathers these by accumulating the per-ring
counters into the provided rtnl_link_stats64 structure.

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-9-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: periodically fetch and accumulate hardware statistics</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=50c885cb2ebec05ca2ba1ff2723a654ac4b22df9'/>
<id>urn:sha1:50c885cb2ebec05ca2ba1ff2723a654ac4b22df9</id>
<content type='text'>
Use the timer to schedule periodic stats collection via
the workqueue when the link is up. Fetch fresh counters from
hardware via DMA and accumulate them into 64-bit software
shadows, handling wrap-around for counters narrower than
64 bits.

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Reviewed-by: Rahul Gupta &lt;rahul-rg.gupta@broadcom.com&gt;
Reviewed-by: Ajit Kumar Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-8-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: add HW stats infra and structured ethtool ops</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8438239bd2b2b1c85f57f7fa24c57f70692fd095'/>
<id>urn:sha1:8438239bd2b2b1c85f57f7fa24c57f70692fd095</id>
<content type='text'>
Implement the hardware-level statistics foundation and modern structured
ethtool operations.

1. Infrastructure: Add HWRM firmware wrappers (FUNC_QSTATS_EXT,
   PORT_QSTATS_EXT, and PORT_QSTATS) to query ring and port counters.
2. Structured ops: Implement .get_eth_phy_stats, .get_eth_mac_stats,
   .get_eth_ctrl_stats, .get_pause_stats, and .get_rmon_stats.

Stats are initially reported as 0; accumulation logic is added
in a subsequent patch.

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-7-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: add support for link async events</title>
<updated>2026-04-12T18:09:37Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4a75900989c964fc839a615542f96353b1c7bc80'/>
<id>urn:sha1:4a75900989c964fc839a615542f96353b1c7bc80</id>
<content type='text'>
Register for firmware asynchronous events, including link-status,
link-speed, and PHY configuration changes. Upon event reception,
re-query the PHY and update ethtool settings accordingly.

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Reviewed-by: Rajashekar Hudumula &lt;rajashekar.hudumula@broadcom.com&gt;
Reviewed-by: Ajit Kumar Khaparde &lt;ajit.khaparde@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-6-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>bng_en: implement ethtool pauseparam operations</title>
<updated>2026-04-12T18:09:36Z</updated>
<author>
<name>Bhargava Marreddy</name>
<email>bhargava.marreddy@broadcom.com</email>
</author>
<published>2026-04-06T18:04:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dc85e8a51f5a6b8f8a3a8de0f89467ae797b5cd8'/>
<id>urn:sha1:dc85e8a51f5a6b8f8a3a8de0f89467ae797b5cd8</id>
<content type='text'>
Implement .get_pauseparam and .set_pauseparam to support flow control
configuration. This allows reporting and setting of autoneg, RX pause,
and TX pause states.

Signed-off-by: Bhargava Marreddy &lt;bhargava.marreddy@broadcom.com&gt;
Reviewed-by: Vikas Gupta &lt;vikas.gupta@broadcom.com&gt;
Link: https://patch.msgid.link/20260406180420.279470-5-bhargava.marreddy@broadcom.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
</feed>
