<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/ibm, branch linux-5.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-07-19T08:00:58Z</updated>
<entry>
<title>ibmvnic: fix kernel build warnings in build_hdr_descs_arr</title>
<updated>2021-07-19T08:00:58Z</updated>
<author>
<name>Lijun Pan</name>
</author>
<published>2021-06-11T15:43:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57ee84c26832de715640757607a3f7a07580193d'/>
<id>urn:sha1:57ee84c26832de715640757607a3f7a07580193d</id>
<content type='text'>
[ Upstream commit 73214a690c50a134bd364e1a4430e0e7ac81a8d8 ]

Fix the following kernel build warnings:
drivers/net/ethernet/ibm/ibmvnic.c:1516: warning: Function parameter or member 'skb' not described in 'build_hdr_descs_arr'
drivers/net/ethernet/ibm/ibmvnic.c:1516: warning: Function parameter or member 'indir_arr' not described in 'build_hdr_descs_arr'
drivers/net/ethernet/ibm/ibmvnic.c:1516: warning: Excess function parameter 'txbuff' description in 'build_hdr_descs_arr'

Signed-off-by: Lijun Pan &lt;lijunp213@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>ibmvnic: free tx_pool if tso_pool alloc fails</title>
<updated>2021-07-14T15:00:03Z</updated>
<author>
<name>Sukadev Bhattiprolu</name>
</author>
<published>2021-06-24T04:13:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94ef94aa8d1fa75518ab306ee5025d8670920abe'/>
<id>urn:sha1:94ef94aa8d1fa75518ab306ee5025d8670920abe</id>
<content type='text'>
[ Upstream commit f6ebca8efa52e4ae770f0325d618e7bcf08ada0c ]

Free tx_pool and clear it, if allocation of tso_pool fails.

release_tx_pools() assumes we have both tx and tso_pools if -&gt;tx_pool is
non-NULL. If allocation of tso_pool fails in init_tx_pools(), the assumption
will not be true and we would end up dereferencing -&gt;tx_buff, -&gt;free_map
fields from a NULL pointer.

Fixes: 3205306c6b8d ("ibmvnic: Update TX pool initialization routine")
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>ibmvnic: set ltb-&gt;buff to NULL after freeing</title>
<updated>2021-07-14T15:00:03Z</updated>
<author>
<name>Sukadev Bhattiprolu</name>
</author>
<published>2021-06-24T04:13:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5b398b20c5c2233031e63a9a42db5c4ef49fe81'/>
<id>urn:sha1:d5b398b20c5c2233031e63a9a42db5c4ef49fe81</id>
<content type='text'>
[ Upstream commit 552a33729f1a7cc5115d0752064fe9abd6e3e336 ]

free_long_term_buff() checks ltb-&gt;buff to decide whether we have a long
term buffer to free. So set ltb-&gt;buff to NULL afer freeing. While here,
also clear -&gt;map_id, fix up some coding style and log an error.

Fixes: 9c4eaabd1bb39 ("Check CRQ command return codes")
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>ibmvnic: account for bufs already saved in indir_buf</title>
<updated>2021-07-14T15:00:03Z</updated>
<author>
<name>Sukadev Bhattiprolu</name>
</author>
<published>2021-06-24T04:13:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b7e6795f56757135cc3ae1dd6ad8cd123086458'/>
<id>urn:sha1:9b7e6795f56757135cc3ae1dd6ad8cd123086458</id>
<content type='text'>
[ Upstream commit 72368f8b2b9e4106072a2728bed3367d54641c22 ]

This fixes a crash in replenish_rx_pool() when called from ibmvnic_poll()
after a previous call to replenish_rx_pool() encountered an error when
allocating a socket buffer.

Thanks to Rick Lindsley and Dany Madden for helping debug the crash.

Fixes: 4f0b6812e9b9 ("ibmvnic: Introduce batched RX buffer descriptor transmission")
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>ibmvnic: clean pending indirect buffs during reset</title>
<updated>2021-07-14T15:00:02Z</updated>
<author>
<name>Sukadev Bhattiprolu</name>
</author>
<published>2021-06-24T04:13:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a64564eee05128f773930649edfdd50cbe80656'/>
<id>urn:sha1:1a64564eee05128f773930649edfdd50cbe80656</id>
<content type='text'>
[ Upstream commit 65d6470d139a6c1655fccb5cbacbeaba8e8ad2f8 ]

We batch subordinate command response queue (scrq) descriptors that we
need to send to the VIOS using an "indirect" buffer. If after we queue
one or more scrqs in the indirect buffer encounter an error (say fail
to allocate an skb), we leave the queued scrq descriptors in the
indirect buffer until the next call to ibmvnic_xmit().

On the next call to ibmvnic_xmit(), it is possible that the adapter is
going through a reset and it is possible that the long term  buffers
have been unmapped on the VIOS side. If we proceed to flush (send) the
packets that are in the indirect buffer, we will end up using the old
map ids and this can cause the VIOS to trigger an unnecessary FATAL
error reset.

Instead of flushing packets remaining on the indirect_buff, discard
(clean) them instead.

Fixes: 0d973388185d4 ("ibmvnic: Introduce xmit_more support using batched subCRQ hcalls")
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>Revert "ibmvnic: remove duplicate napi_schedule call in open function"</title>
<updated>2021-07-14T15:00:02Z</updated>
<author>
<name>Dany Madden</name>
</author>
<published>2021-06-24T04:13:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a7e4bd8c836eedcb1ff8b4ecc845e56d6a37052'/>
<id>urn:sha1:9a7e4bd8c836eedcb1ff8b4ecc845e56d6a37052</id>
<content type='text'>
[ Upstream commit 2ca220f92878470c6ba03f9946e412323093cc94 ]

This reverts commit 7c451f3ef676c805a4b77a743a01a5c21a250a73.

When a vnic interface is taken down and then up, connectivity is not
restored. We bisected it to this commit. Reverting this commit until
we can fully investigate the issue/benefit of the change.

Fixes: 7c451f3ef676 ("ibmvnic: remove duplicate napi_schedule call in open function")
Reported-by: Cristobal Forno &lt;cforno12@linux.ibm.com&gt;
Reported-by: Abdul Haleem &lt;abdhalee@in.ibm.com&gt;
Signed-off-by: Dany Madden &lt;drt@linux.ibm.com&gt;
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>Revert "ibmvnic: simplify reset_long_term_buff function"</title>
<updated>2021-07-14T15:00:02Z</updated>
<author>
<name>Sukadev Bhattiprolu</name>
</author>
<published>2021-06-24T04:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e64eb23d3e556a681b9e0fbef622096b932f9fc'/>
<id>urn:sha1:1e64eb23d3e556a681b9e0fbef622096b932f9fc</id>
<content type='text'>
[ Upstream commit 0ec13aff058a82426c8d44b688c804cc4a5a0a3d ]

This reverts commit 1c7d45e7b2c29080bf6c8cd0e213cc3cbb62a054.

We tried to optimize the number of hcalls we send and skipped sending
the REQUEST_MAP calls for some maps. However during resets, we need to
resend all the maps to the VIOS since the VIOS does not remember the
old values. In fact we may have failed over to a new VIOS which will
not have any of the mappings.

When we send packets with map ids the VIOS does not know about, it
triggers a FATAL reset. While the client does recover from the FATAL
error reset, we are seeing a large number of such resets. Handling
FATAL resets is lot more unnecessary work than issuing a few more
hcalls so revert the commit and resend the maps to the VIOS.

Fixes: 1c7d45e7b2c ("ibmvnic: simplify reset_long_term_buff function")
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.ibm.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>ehea: fix error return code in ehea_restart_qps()</title>
<updated>2021-07-14T14:59:49Z</updated>
<author>
<name>Zhen Lei</name>
</author>
<published>2021-05-28T08:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b062556c3164110e01b475a0493aa19e04701d38'/>
<id>urn:sha1:b062556c3164110e01b475a0493aa19e04701d38</id>
<content type='text'>
[ Upstream commit 015dbf5662fd689d581c0bc980711b073ca09a1a ]

Fix to return -EFAULT from the error handling case instead of 0, as done
elsewhere in this function.

By the way, when get_zeroed_page() fails, directly return -ENOMEM to
simplify code.

Fixes: 2c69448bbced ("ehea: DLPAR memory add fix")
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Zhen Lei &lt;thunder.leizhen@huawei.com&gt;
Link: https://lore.kernel.org/r/20210528085555.9390-1-thunder.leizhen@huawei.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ibmvnic: remove duplicate napi_schedule call in open function</title>
<updated>2021-04-14T20:10:58Z</updated>
<author>
<name>Lijun Pan</name>
</author>
<published>2021-04-14T07:46:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c451f3ef676c805a4b77a743a01a5c21a250a73'/>
<id>urn:sha1:7c451f3ef676c805a4b77a743a01a5c21a250a73</id>
<content type='text'>
Remove the unnecessary napi_schedule() call in __ibmvnic_open() since
interrupt_rx() calls napi_schedule_prep/__napi_schedule during every
receive interrupt.

Fixes: ed651a10875f ("ibmvnic: Updated reset handling")
Signed-off-by: Lijun Pan &lt;lijunp213@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ibmvnic: remove duplicate napi_schedule call in do_reset function</title>
<updated>2021-04-14T20:10:58Z</updated>
<author>
<name>Lijun Pan</name>
</author>
<published>2021-04-14T07:46:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3a6abccbd272aea7dc2c6f984bb5a2c11278e44'/>
<id>urn:sha1:d3a6abccbd272aea7dc2c6f984bb5a2c11278e44</id>
<content type='text'>
During adapter reset, do_reset/do_hard_reset calls ibmvnic_open(),
which will calls napi_schedule if previous state is VNIC_CLOSED
(i.e, the reset case, and "ifconfig down" case). So there is no need
for do_reset to call napi_schedule again at the end of the function
though napi_schedule will neglect the request if napi is already
scheduled.

Fixes: ed651a10875f ("ibmvnic: Updated reset handling")
Signed-off-by: Lijun Pan &lt;lijunp213@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
