<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-obmc-linux/drivers/net/ethernet/cisco, branch dev-5.0</title>
<subtitle>Talos™ II Linux sources for OpenBMC</subtitle>
<id>https://git.raptorcs.com/git/talos-obmc-linux/atom?h=dev-5.0</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-obmc-linux/atom?h=dev-5.0'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/'/>
<updated>2019-04-05T20:34:21+00:00</updated>
<entry>
<title>enic: fix build warning without CONFIG_CPUMASK_OFFSTACK</title>
<updated>2019-04-05T20:34:21+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2019-03-07T15:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=267f65c94fb7bd962e9b2e7dd5f009c934100d24'/>
<id>urn:sha1:267f65c94fb7bd962e9b2e7dd5f009c934100d24</id>
<content type='text'>
[ Upstream commit 43d281662fdb46750d49417559b71069f435298d ]

The enic driver relies on the CONFIG_CPUMASK_OFFSTACK feature to
dynamically allocate a struct member, but this is normally intended for
local variables.

Building with clang, I get a warning for a few locations that check the
address of the cpumask_var_t:

drivers/net/ethernet/cisco/enic/enic_main.c:122:22: error: address of array 'enic-&gt;msix[i].affinity_mask' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]

As far as I can tell, the code is still correct, as the truth value of
the pointer is what we need in this configuration. To get rid of
the warning, use cpumask_available() instead of checking the
pointer directly.

Fixes: 322cf7e3a4e8 ("enic: assign affinity hint to interrupts")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>enic: fix checksum validation for IPv6</title>
<updated>2019-02-01T22:41:42+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2019-01-30T14:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=7596175e99b3d4bce28022193efd954c201a782a'/>
<id>urn:sha1:7596175e99b3d4bce28022193efd954c201a782a</id>
<content type='text'>
In case of IPv6 pkts, ipv4_csum_ok is 0. Because of this, driver does
not set skb-&gt;ip_summed. So IPv6 rx checksum is not offloaded.

Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: core: dev: Add extack argument to dev_open()</title>
<updated>2018-12-06T21:26:06+00:00</updated>
<author>
<name>Petr Machata</name>
<email>petrm@mellanox.com</email>
</author>
<published>2018-12-06T17:05:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=00f54e68924eaf075f3f24be18557899d347bc4a'/>
<id>urn:sha1:00f54e68924eaf075f3f24be18557899d347bc4a</id>
<content type='text'>
In order to pass extack together with NETDEV_PRE_UP notifications, it's
necessary to route the extack to __dev_open() from diverse (possibly
indirect) callers. One prominent API through which the notification is
invoked is dev_open().

Therefore extend dev_open() with and extra extack argument and update
all users. Most of the calls end up just encoding NULL, but bond and
team drivers have the extack readily available.

Signed-off-by: Petr Machata &lt;petrm@mellanox.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Reviewed-by: Ido Schimmel &lt;idosch@mellanox.com&gt;
Reviewed-by: David Ahern &lt;dsahern@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: cisco: enic: Replace GFP_ATOMIC with GFP_KERNEL</title>
<updated>2018-08-04T20:08:06+00:00</updated>
<author>
<name>Jia-Ju Bai</name>
<email>baijiaju1990@gmail.com</email>
</author>
<published>2018-08-04T00:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=039b1d5e5862375b0da534bb75fc580eaa547d53'/>
<id>urn:sha1:039b1d5e5862375b0da534bb75fc580eaa547d53</id>
<content type='text'>
vnic_dev_register(), vnic_rq_alloc_bufs() and vnic_wq_alloc_bufs()
are never called in atomic context.
They call kzalloc() with GFP_ATOMIC, which is not necessary.
GFP_ATOMIC can be replaced with GFP_KERNEL.

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai &lt;baijiaju1990@gmail.com&gt;
Acked-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: do not call enic_change_mtu in enic_probe</title>
<updated>2018-07-31T21:42:49+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-07-30T16:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=cb5c6568867325f9905e80c96531d963bec8e5ea'/>
<id>urn:sha1:cb5c6568867325f9905e80c96531d963bec8e5ea</id>
<content type='text'>
In commit ab123fe071c9 ("enic: handle mtu change for vf properly")
ASSERT_RTNL() is added to _enic_change_mtu() to prevent it from being
called without rtnl held. enic_probe() calls enic_change_mtu()
without rtnl held. At this point netdev is not registered yet.
Remove call to enic_change_mtu and assign the mtu to netdev-&gt;mtu.

Fixes: ab123fe071c9 ("enic: handle mtu change for vf properly")
Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: handle mtu change for vf properly</title>
<updated>2018-07-29T02:04:38+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-07-27T18:19:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=ab123fe071c9aa9680ecd62eb080eb26cff4892c'/>
<id>urn:sha1:ab123fe071c9aa9680ecd62eb080eb26cff4892c</id>
<content type='text'>
When driver gets notification for mtu change, driver does not handle it for
all RQs. It handles only RQ[0].

Fix is to use enic_change_mtu() interface to change mtu for vf.

Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: do not overwrite error code</title>
<updated>2018-06-19T23:10:13+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-06-18T17:01:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=56f772279a762984f6e9ebbf24a7c829faba5712'/>
<id>urn:sha1:56f772279a762984f6e9ebbf24a7c829faba5712</id>
<content type='text'>
In failure path, we overwrite err to what vnic_rq_disable() returns. In
case it returns 0, enic_open() returns success in case of error.

Reported-by: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Fixes: e8588e268509 ("enic: enable rq before updating rq descriptors")
Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: initialize enic-&gt;rfs_h.lock in enic_probe</title>
<updated>2018-06-19T22:49:30+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-06-19T15:15:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=3256d29fc7aecdf99feb1cb9475ed2252769a8a7'/>
<id>urn:sha1:3256d29fc7aecdf99feb1cb9475ed2252769a8a7</id>
<content type='text'>
lockdep spotted that we are using rfs_h.lock in enic_get_rxnfc() without
initializing. rfs_h.lock is initialized in enic_open(). But ethtool_ops
can be called when interface is down.

Move enic_rfs_flw_tbl_init to enic_probe.

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 18 PID: 1189 Comm: ethtool Not tainted 4.17.0-rc7-devel+ #27
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-20171110_100015-anatol 04/01/2014
Call Trace:
dump_stack+0x85/0xc0
register_lock_class+0x550/0x560
? __handle_mm_fault+0xa8b/0x1100
__lock_acquire+0x81/0x670
lock_acquire+0xb9/0x1e0
?  enic_get_rxnfc+0x139/0x2b0 [enic]
_raw_spin_lock_bh+0x38/0x80
? enic_get_rxnfc+0x139/0x2b0 [enic]
enic_get_rxnfc+0x139/0x2b0 [enic]
ethtool_get_rxnfc+0x8d/0x1c0
dev_ethtool+0x16c8/0x2400
? __mutex_lock+0x64d/0xa00
? dev_load+0x6a/0x150
dev_ioctl+0x253/0x4b0
sock_do_ioctl+0x9a/0x130
sock_ioctl+0x1af/0x350
do_vfs_ioctl+0x8e/0x670
? syscall_trace_enter+0x1e2/0x380
ksys_ioctl+0x60/0x90
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5a/0x170
entry_SYSCALL_64_after_hwframe+0x49/0xbe

Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: fix UDP rss bits</title>
<updated>2018-06-06T13:09:09+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-06-05T17:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=4016a7f15efc9189f0ce18025fb3306a8b5f9195'/>
<id>urn:sha1:4016a7f15efc9189f0ce18025fb3306a8b5f9195</id>
<content type='text'>
In commit 48398b6e7065 ("enic: set UDP rss flag") driver needed to set a
single bit to enable UDP rss. This is changed to two bit. One for UDP
IPv4 and other bit for UDP IPv6. The hardware which supports this is not
released yet. When released, driver should set 2 bit to enable UDP rss for
both IPv4 and IPv6.

Also add spinlock around vnic_dev_capable_rss_hash_type().

Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>enic: set DMA mask to 47 bit</title>
<updated>2018-05-25T03:05:30+00:00</updated>
<author>
<name>Govindarajulu Varadarajan</name>
<email>gvaradar@cisco.com</email>
</author>
<published>2018-05-23T18:17:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=322eaa06d55ebc1402a4a8d140945cff536638b4'/>
<id>urn:sha1:322eaa06d55ebc1402a4a8d140945cff536638b4</id>
<content type='text'>
In commit 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then
failover to DMA") DMA mask was changed from 40 bits to 64 bits.
Hardware actually supports only 47 bits.

Fixes: 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then failover to DMA")
Signed-off-by: Govindarajulu Varadarajan &lt;gvaradar@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
