<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/ethernet/cisco, 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-03T01:05:06Z</updated>
<entry>
<title>enic: detect admin channel resources for SR-IOV</title>
<updated>2026-04-03T01:05:06Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4368f5fab419b43068dea912536b1f4a724b4bba'/>
<id>urn:sha1:4368f5fab419b43068dea912536b1f4a724b4bba</id>
<content type='text'>
Check for the presence of admin channel BAR resources
(RES_TYPE_ADMIN_WQ, ADMIN_RQ, ADMIN_CQ, SRIOV_INTR) during resource
discovery. Set has_admin_channel when all four are available.

Use ARRAY_SIZE(enic-&gt;admin_cq) for the admin CQ count check since the
driver allocates two admin CQs (one for WQ completions, one for RQ
completions) and both must be backed by hardware resources.

Add admin WQ, RQ, CQ and INTR fields to struct enic for use by the
upcoming admin channel open/close paths.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-6-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: add type-aware alloc for WQ, RQ, CQ and INTR resources</title>
<updated>2026-04-03T01:05:06Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=730ce15d44971204866575549683c956b3fcfe39'/>
<id>urn:sha1:730ce15d44971204866575549683c956b3fcfe39</id>
<content type='text'>
The existing vnic_wq_alloc(), vnic_rq_alloc(), vnic_cq_alloc() and
vnic_intr_alloc() hardcode data-path resource types (RES_TYPE_WQ,
RES_TYPE_RQ, RES_TYPE_CQ, RES_TYPE_INTR_CTRL). The upcoming admin
channel uses different BAR resource types (RES_TYPE_ADMIN_WQ/RQ/CQ,
RES_TYPE_SRIOV_INTR) for its queues.

Add _with_type() variants that accept an explicit resource type
parameter. Refactor the original functions as thin wrappers that
pass the default data-path type. No functional change.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-5-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: make enic_dev_enable/disable ref-counted</title>
<updated>2026-04-03T01:05:06Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0266ecb59d5242a5d66261a671e42d53a1372f69'/>
<id>urn:sha1:0266ecb59d5242a5d66261a671e42d53a1372f69</id>
<content type='text'>
Both the data path (ndo_open/ndo_stop) and the upcoming admin channel
need to enable and disable the vNIC device independently. Without
reference counting, closing the admin channel while the netdev is up
would inadvertently disable the entire device.

Add an enable_count to struct enic, protected by the existing
devcmd_lock. enic_dev_enable() issues CMD_ENABLE_WAIT only on the
first caller (0 -&gt; 1 transition), and enic_dev_disable() issues
CMD_DISABLE only when the last caller releases (1 -&gt; 0 transition).

Also check the return value of enic_dev_enable() in enic_open() and
fail the open if the firmware enable command fails. Without this check,
a failed enable leaves enable_count at zero while the interface appears
up, which can cause a later admin channel enable/disable cycle to
incorrectly disable the hardware under the active data path.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-4-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: detect SR-IOV VF type from PCI capability</title>
<updated>2026-04-03T01:05:06Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=56a4d7a865860ac0e52e26a4c8d13de78e7a9707'/>
<id>urn:sha1:56a4d7a865860ac0e52e26a4c8d13de78e7a9707</id>
<content type='text'>
Read the VF device ID from the SR-IOV PCI capability at probe time to
determine whether the PF is configured for V1, USNIC, or V2 virtual
functions. Store the result in enic-&gt;vf_type for use by subsequent
SR-IOV operations.

The VF type is a firmware-configured property (set via UCSM, CIMC,
Intersight etc) that is immutable from the driver's perspective. Only
PFs are probed for this capability; VFs and dynamic vnics skip
detection.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-3-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: add V2 SR-IOV VF device ID</title>
<updated>2026-04-03T01:05:06Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=803a1b02027918450b58803190aa7cacb8056265'/>
<id>urn:sha1:803a1b02027918450b58803190aa7cacb8056265</id>
<content type='text'>
Register the V2 VF PCI device ID (0x02b7) so the driver binds to V2
virtual functions created via sriov_configure. Update enic_is_sriov_vf()
to recognize V2 VFs alongside the existing V1 type.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-2-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: extend resource discovery for SR-IOV admin channel</title>
<updated>2026-04-03T01:05:05Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-04-01T15:31:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=74fb32ed733ceacd2daa3d22471f4b10705abbbd'/>
<id>urn:sha1:74fb32ed733ceacd2daa3d22471f4b10705abbbd</id>
<content type='text'>
VIC firmware exposes admin channel resources (WQ, RQ, CQ) for PF-VF
communication when SR-IOV is active. Add the corresponding resource
type definitions and teach the discovery and access functions to
handle them.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260401-enic-sriov-v2-prep-v4-1-d5834b2ef1b9@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2026-02-26T18:23:00Z</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2026-02-26T18:20:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0314e382cf02983eb3c33ac537ad9701e7858bc9'/>
<id>urn:sha1:0314e382cf02983eb3c33ac537ad9701e7858bc9</id>
<content type='text'>
Cross-merge networking fixes after downstream PR (net-7.0-rc2).

Conflicts:

tools/testing/selftests/drivers/net/hw/rss_ctx.py
  19c3a2a81d2b ("selftests: drv-net: rss: Generate unique ports for RSS context tests")
  ce5a0f4612db ("selftests: drv-net: rss_ctx: test RSS contexts persist after ifdown/up")

include/net/inet_connection_sock.h
  858d2a4f67ff6 ("tcp: fix potential race in tcp_v6_syn_recv_sock()")
  fcd3d039fab69 ("tcp: make tcp_v{4,6}_send_check() static")
https://lore.kernel.org/aZ8PSFLzBrEU3I89@sirena.org.uk

drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c
drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c
  69050f8d6d075 ("treewide: Replace kmalloc with kmalloc_obj for non-scalar types")
  bf4afc53b77ae ("Convert 'alloc_obj' family to use the new default GFP_KERNEL argument")
  8a96b9144f18a ("net/mlx5e: Alloc xsk channel param out of mlx5e_open_xsk()")

Adjacent changes:

net/netfilter/ipvs/ip_vs_ctl.c
  c59bd9e62e06 ("ipvs: use more counters to avoid service lookups")
  bf4afc53b77a ("Convert 'alloc_obj' family to use the new default GFP_KERNEL argument")

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net:ethernet:enic: map ethtool link modes by VIC type</title>
<updated>2026-02-25T01:20:11Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-02-23T10:27:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=426f1f5b8752d68e729fb65a00795a0f919b47d1'/>
<id>urn:sha1:426f1f5b8752d68e729fb65a00795a0f919b47d1</id>
<content type='text'>
Report supported media types based on the VIC subsystem ID so ethtool
reflects the hardware capabilities.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260223-enic-cscwi36355-v2-2-63488194a974@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net:ethernet:enic: add VIC subsystem ids</title>
<updated>2026-02-25T01:20:11Z</updated>
<author>
<name>Satish Kharat</name>
<email>satishkh@cisco.com</email>
</author>
<published>2026-02-23T10:27:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=472e079f8c9013057fe57e7ec1eb16fe695fc2d3'/>
<id>urn:sha1:472e079f8c9013057fe57e7ec1eb16fe695fc2d3</id>
<content type='text'>
Add VIC subsystem id for 12xx, 13xx, 14xx and 15xxx series

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Link: https://patch.msgid.link/20260223-enic-cscwi36355-v2-1-63488194a974@cisco.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses</title>
<updated>2026-02-22T16:26:33Z</updated>
<author>
<name>Kees Cook</name>
<email>kees@kernel.org</email>
</author>
<published>2026-02-22T07:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=189f164e573e18d9f8876dbd3ad8fcbe11f93037'/>
<id>urn:sha1:189f164e573e18d9f8876dbd3ad8fcbe11f93037</id>
<content type='text'>
Conversion performed via this Coccinelle script:

  // SPDX-License-Identifier: GPL-2.0-only
  // Options: --include-headers-for-types --all-includes --include-headers --keep-comments
  virtual patch

  @gfp depends on patch &amp;&amp; !(file in "tools") &amp;&amp; !(file in "samples")@
  identifier ALLOC = {kmalloc_obj,kmalloc_objs,kmalloc_flex,
 		    kzalloc_obj,kzalloc_objs,kzalloc_flex,
		    kvmalloc_obj,kvmalloc_objs,kvmalloc_flex,
		    kvzalloc_obj,kvzalloc_objs,kvzalloc_flex};
  @@

  	ALLOC(...
  -		, GFP_KERNEL
  	)

  $ make coccicheck MODE=patch COCCI=gfp.cocci

Build and boot tested x86_64 with Fedora 42's GCC and Clang:

Linux version 6.19.0+ (user@host) (gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7), GNU ld version 2.44-12.fc42) #1 SMP PREEMPT_DYNAMIC 1970-01-01
Linux version 6.19.0+ (user@host) (clang version 20.1.8 (Fedora 20.1.8-4.fc42), LLD 20.1.8) #1 SMP PREEMPT_DYNAMIC 1970-01-01

Signed-off-by: Kees Cook &lt;kees@kernel.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
