<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/google, branch linux-5.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.14.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.14.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2021-11-17T10:04:43Z</updated>
<entry>
<title>gve: Fix off by one in gve_tx_timeout()</title>
<updated>2021-11-17T10:04:43Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2021-11-09T11:47:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e8cf4c96f11ed1fe21f106e0d75b776c2b4cf543'/>
<id>urn:sha1:e8cf4c96f11ed1fe21f106e0d75b776c2b4cf543</id>
<content type='text'>
[ Upstream commit 1c360cc1cc883fbdf0a258b4df376571fbeac5ee ]

The priv-&gt;ntfy_blocks[] has "priv-&gt;num_ntfy_blks" elements so this &gt;
needs to be &gt;= to prevent an off by one bug.  The priv-&gt;ntfy_blocks[]
array is allocated in gve_alloc_notify_blocks().

Fixes: 87a7f321bb6a ("gve: Recover from queue stall due to missed IRQ")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.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>gve: Track RX buffer allocation failures</title>
<updated>2021-11-17T10:04:05Z</updated>
<author>
<name>Catherine Sullivan</name>
<email>csully@google.com</email>
</author>
<published>2021-10-11T15:36:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e1628b6b6b7d21bf41a2dab11470668ff02bab65'/>
<id>urn:sha1:e1628b6b6b7d21bf41a2dab11470668ff02bab65</id>
<content type='text'>
[ Upstream commit 1b4d1c9bab091ac6e20a3ff80c30c5cefe192bf4 ]

The rx_buf_alloc_fail counter wasn't getting updated.

Fixes: 433e274b8f7b0 ("gve: Add stats for gve.")
Signed-off-by: Catherine Sullivan &lt;csully@google.com&gt;
Signed-off-by: Jeroen de Borst &lt;jeroendb@google.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>gve: Recover from queue stall due to missed IRQ</title>
<updated>2021-11-17T10:04:05Z</updated>
<author>
<name>John Fraker</name>
<email>jfraker@google.com</email>
</author>
<published>2021-10-11T15:36:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=89dda8da289e7ea7c2ec0c496269018bde1015c9'/>
<id>urn:sha1:89dda8da289e7ea7c2ec0c496269018bde1015c9</id>
<content type='text'>
[ Upstream commit 87a7f321bb6a45e54b7d6c90d032ee5636a6ad97 ]

Don't always reset the driver on a TX timeout. Attempt to
recover by kicking the queue in case an IRQ was missed.

Fixes: 9e5f7d26a4c08 ("gve: Add workqueue and reset support")
Signed-off-by: John Fraker &lt;jfraker@google.com&gt;
Signed-off-by: David Awogbemila &lt;awogbemila@google.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>gve: DQO: avoid unused variable warnings</title>
<updated>2021-11-17T10:04:00Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2021-09-28T14:15:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5e1f85a23ae09edc7537a50c148226aafa38fd72'/>
<id>urn:sha1:5e1f85a23ae09edc7537a50c148226aafa38fd72</id>
<content type='text'>
[ Upstream commit 1e0083bd0777e4a418a6710d9ee04b979cdbe5cc ]

The use of dma_unmap_addr()/dma_unmap_len() in the driver causes
multiple warnings when these macros are defined as empty, e.g.
in an ARCH=i386 allmodconfig build:

drivers/net/ethernet/google/gve/gve_tx_dqo.c: In function 'gve_tx_add_skb_no_copy_dqo':
drivers/net/ethernet/google/gve/gve_tx_dqo.c:494:40: error: unused variable 'buf' [-Werror=unused-variable]
  494 |                 struct gve_tx_dma_buf *buf =

This is not how the NEED_DMA_MAP_STATE macros are meant to work,
as they rely on never using local variables or a temporary structure
like gve_tx_dma_buf.

Remote the gve_tx_dma_buf definition and open-code the contents
in all places to avoid the warning. This causes some rather long
lines but otherwise ends up making the driver slightly smaller.

Fixes: a57e5de476be ("gve: DQO: Add TX path")
Link: https://lore.kernel.org/netdev/20210723231957.1113800-1-bcf@google.com/
Link: https://lore.kernel.org/netdev/20210721151100.2042139-1-arnd@kernel.org/
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&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>gve: report 64bit tx_bytes counter from gve_handle_report_stats()</title>
<updated>2021-10-13T07:42:00Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2021-10-06T01:01:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1fad5d7f75f7f49d9b4f821228abcfe6a80abfbd'/>
<id>urn:sha1:1fad5d7f75f7f49d9b4f821228abcfe6a80abfbd</id>
<content type='text'>
[ Upstream commit 17c37d748f2b122a95b6d0524d410302ff89a2b1 ]

Each tx queue maintains a 64bit counter for bytes, there is
no reason to truncate this to 32bit (or this has not been
documented)

Fixes: 24aeb56f2d38 ("gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags.")
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Yangchun Fu &lt;yangchun@google.com&gt;
Cc: Kuo Zhao &lt;kuozhao@google.com&gt;
Cc: David Awogbemila &lt;awogbemila@google.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>gve: fix gve_get_stats()</title>
<updated>2021-10-13T07:42:00Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2021-10-06T00:30:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bcf4f5e4d33db4ccece3b9835d4bbbf0a8b53f69'/>
<id>urn:sha1:bcf4f5e4d33db4ccece3b9835d4bbbf0a8b53f69</id>
<content type='text'>
[ Upstream commit 2f57d4975fa027eabd35fdf23a49f8222ef3abf2 ]

gve_get_stats() can report wrong numbers if/when u64_stats_fetch_retry()
returns true.

What is needed here is to sample values in temporary variables,
and only use them after each loop is ended.

Fixes: f5cedc84a30d ("gve: Add transmit and receive support")
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Catherine Sullivan &lt;csully@google.com&gt;
Cc: Sagi Shahar &lt;sagis@google.com&gt;
Cc: Jon Olson &lt;jonolson@google.com&gt;
Cc: Willem de Bruijn &lt;willemb@google.com&gt;
Cc: Luigi Rizzo &lt;lrizzo@google.com&gt;
Cc: Jeroen de Borst &lt;jeroendb@google.com&gt;
Cc: Tao Liu &lt;xliutaox@google.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>gve: Properly handle errors in gve_assign_qpl</title>
<updated>2021-10-13T07:42:00Z</updated>
<author>
<name>Catherine Sullivan</name>
<email>csully@google.com</email>
</author>
<published>2021-10-06T02:42:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f5cfed82e0f38cf0e6101f4193c154aab9a709ef'/>
<id>urn:sha1:f5cfed82e0f38cf0e6101f4193c154aab9a709ef</id>
<content type='text'>
[ Upstream commit d4b111fda69a01e0a7439d05993f5dad567c93aa ]

Ignored errors would result in crash.

Fixes: ede3fcf5ec67f ("gve: Add support for raw addressing to the rx path")
Signed-off-by: Catherine Sullivan &lt;csully@google.com&gt;
Signed-off-by: Jeroen de Borst &lt;jeroendb@google.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>gve: Avoid freeing NULL pointer</title>
<updated>2021-10-13T07:42:00Z</updated>
<author>
<name>Tao Liu</name>
<email>xliutaox@google.com</email>
</author>
<published>2021-10-06T02:42:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2044137a268a50c479027703f1c516aa155196d9'/>
<id>urn:sha1:2044137a268a50c479027703f1c516aa155196d9</id>
<content type='text'>
[ Upstream commit 922aa9bcac92b3ab6a423526a8e785b35a60b441 ]

Prevent possible crashes when cleaning up after unsuccessful
initializations.

Fixes: 893ce44df5658 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
Signed-off-by: Tao Liu &lt;xliutaox@google.com&gt;
Signed-off-by: Catherine Sully &lt;csully@google.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>gve: Correct available tx qpl check</title>
<updated>2021-10-13T07:42:00Z</updated>
<author>
<name>Catherine Sullivan</name>
<email>csully@google.com</email>
</author>
<published>2021-10-06T02:42:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3e8df2cada215ccdceaaad382d766de0eacecb58'/>
<id>urn:sha1:3e8df2cada215ccdceaaad382d766de0eacecb58</id>
<content type='text'>
[ Upstream commit d03477ee10f4bc35d3573cf1823814378ef2dca2 ]

The qpl_map_size is rounded up to a multiple of sizeof(long), but the
number of qpls doesn't have to be.

Fixes: f5cedc84a30d2 ("gve: Add transmit and receive support")
Signed-off-by: Catherine Sullivan &lt;csully@google.com&gt;
Signed-off-by: Jeroen de Borst &lt;jeroendb@google.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>gve: fix the wrong AdminQ buffer overflow check</title>
<updated>2021-09-15T08:02:11Z</updated>
<author>
<name>Haiyue Wang</name>
<email>haiyue.wang@intel.com</email>
</author>
<published>2021-07-14T07:34:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0d2fde4c31b8ba2fc8de292abad8451e6fa85ab3'/>
<id>urn:sha1:0d2fde4c31b8ba2fc8de292abad8451e6fa85ab3</id>
<content type='text'>
[ Upstream commit 63a9192b8fa1ea55efeba1f18fad52bb24d9bf12 ]

The 'tail' pointer is also free-running count, so it needs to be masked
as 'adminq_prod_cnt' does, to become an index value of AdminQ buffer.

Fixes: 5cdad90de62c ("gve: Batch AQ commands for creating and destroying queues.")
Signed-off-by: Haiyue Wang &lt;haiyue.wang@intel.com&gt;
Reviewed-by: Catherine Sullivan &lt;csully@google.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>
</feed>
