<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/xilinx, 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:47Z</updated>
<entry>
<title>net: xilinx_emaclite: Do not print real IOMEM pointer</title>
<updated>2021-07-19T08:00:47Z</updated>
<author>
<name>YueHaibing</name>
</author>
<published>2021-05-19T02:47:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a9bfd7589c18c20df5a5b9278549a2807627e30'/>
<id>urn:sha1:7a9bfd7589c18c20df5a5b9278549a2807627e30</id>
<content type='text'>
[ Upstream commit d0d62baa7f505bd4c59cd169692ff07ec49dde37 ]

Printing kernel pointers is discouraged because they might leak kernel
memory layout.  This fixes smatch warning:

drivers/net/ethernet/xilinx/xilinx_emaclite.c:1191 xemaclite_of_probe() warn:
 argument 4 to %08lX specifier is cast from pointer

Signed-off-by: YueHaibing &lt;yuehaibing@huawei.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>net: ll_temac: Avoid ndo_start_xmit returning NETDEV_TX_BUSY</title>
<updated>2021-06-30T12:47:01Z</updated>
<author>
<name>Esben Haabendal</name>
</author>
<published>2021-06-18T10:52:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=736b50ef2e3dbbd2cfd587854aa5e71596ef692d'/>
<id>urn:sha1:736b50ef2e3dbbd2cfd587854aa5e71596ef692d</id>
<content type='text'>
[ Upstream commit f6396341194234e9b01cd7538bc2c6ac4501ab14 ]

As documented in Documentation/networking/driver.rst, the ndo_start_xmit
method must not return NETDEV_TX_BUSY under any normal circumstances, and
as recommended, we simply stop the tx queue in advance, when there is a
risk that the next xmit would cause a NETDEV_TX_BUSY return.

Signed-off-by: Esben Haabendal &lt;esben@geanix.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>net: ll_temac: Add memory-barriers for TX BD access</title>
<updated>2021-06-30T12:47:01Z</updated>
<author>
<name>Esben Haabendal</name>
</author>
<published>2021-06-18T10:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c34ef5b94b6a45a0d4d2433a1b8ccd2677f78aa0'/>
<id>urn:sha1:c34ef5b94b6a45a0d4d2433a1b8ccd2677f78aa0</id>
<content type='text'>
[ Upstream commit 28d9fab458b16bcd83f9dd07ede3d585c3e1a69e ]

Add a couple of memory-barriers to ensure correct ordering of read/write
access to TX BDs.

In xmit_done, we should ensure that reading the additional BD fields are
only done after STS_CTRL_APP0_CMPLT bit is set.

When xmit_done marks the BD as free by setting APP0=0, we need to ensure
that the other BD fields are reset first, so we avoid racing with the xmit
path, which writes to the same fields.

Finally, making sure to read APP0 of next BD after the current BD, ensures
that we see all available buffers.

Signed-off-by: Esben Haabendal &lt;esben@geanix.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>net: ll_temac: Fix TX BD buffer overwrite</title>
<updated>2021-06-23T12:44:10Z</updated>
<author>
<name>Esben Haabendal</name>
</author>
<published>2021-06-18T10:52:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b6982493ed2dee412ccae062ccf7cf50fbe5a6a8'/>
<id>urn:sha1:b6982493ed2dee412ccae062ccf7cf50fbe5a6a8</id>
<content type='text'>
commit c364df2489b8ef2f5e3159b1dff1ff1fdb16040d upstream.

Just as the initial check, we need to ensure num_frag+1 buffers available,
as that is the number of buffers we are going to use.

This fixes a buffer overflow, which might be seen during heavy network
load. Complete lockup of TEMAC was reproducible within about 10 minutes of
a particular load.

Fixes: 84823ff80f74 ("net: ll_temac: Fix race condition causing TX hang")
Cc: stable@vger.kernel.org # v5.4+
Signed-off-by: Esben Haabendal &lt;esben@geanix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: ll_temac: Make sure to free skb when it is completely used</title>
<updated>2021-06-23T12:44:10Z</updated>
<author>
<name>Esben Haabendal</name>
</author>
<published>2021-06-18T10:52:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8afe05bd359ebe12a61dbdc94c06c00ea3e8d4b'/>
<id>urn:sha1:e8afe05bd359ebe12a61dbdc94c06c00ea3e8d4b</id>
<content type='text'>
commit 6aa32217a9a446275440ee8724b1ecaf1838df47 upstream.

With the skb pointer piggy-backed on the TX BD, we have a simple and
efficient way to free the skb buffer when the frame has been transmitted.
But in order to avoid freeing the skb while there are still fragments from
the skb in use, we need to piggy-back on the TX BD of the skb, not the
first.

Without this, we are doing use-after-free on the DMA side, when the first
BD of a multi TX BD packet is seen as completed in xmit_done, and the
remaining BDs are still being processed.

Cc: stable@vger.kernel.org # v5.4+
Signed-off-by: Esben Haabendal &lt;esben@geanix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: xilinx: drivers need/depend on HAS_IOMEM</title>
<updated>2021-05-14T08:52:07Z</updated>
<author>
<name>Randy Dunlap</name>
</author>
<published>2021-04-17T06:55:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aff4d8cb5ef5dfe3cec5661ea95686d2a5740f0c'/>
<id>urn:sha1:aff4d8cb5ef5dfe3cec5661ea95686d2a5740f0c</id>
<content type='text'>
commit 46fd4471615c1bff9d87c411140807762c25667a upstream.

kernel test robot reports build errors in 3 Xilinx ethernet drivers.
They all use ioremap functions that are only available when HAS_IOMEM
is set/enabled. If it is not enabled, they all have build errors,
so make these 3 drivers depend on HAS_IOMEM.

ld: drivers/net/ethernet/xilinx/xilinx_emaclite.o: in function `xemaclite_of_probe':
xilinx_emaclite.c:(.text+0x9fc): undefined reference to `devm_ioremap_resource'

ld: drivers/net/ethernet/xilinx/xilinx_axienet_main.o: in function `axienet_probe':
xilinx_axienet_main.c:(.text+0x942): undefined reference to `devm_ioremap_resource'

ld: drivers/net/ethernet/xilinx/ll_temac_main.o: in function `temac_probe':
ll_temac_main.c:(.text+0x1283): undefined reference to `devm_platform_ioremap_resource_byname'
ld: ll_temac_main.c:(.text+0x13ad): undefined reference to `devm_of_iomap'
ld: ll_temac_main.c:(.text+0x162e): undefined reference to `devm_platform_ioremap_resource'

Fixes: 8a3b7a252dca ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Radhey Shyam Pandey &lt;radhey.shyam.pandey@xilinx.com&gt;
Cc: Gary Guo &lt;gary@garyguo.net&gt;
Cc: Zhang Changzhong &lt;zhangchangzhong@huawei.com&gt;
Cc: Andre Przywara &lt;andre.przywara@arm.com&gt;
Cc: stable@vger.kernel.org
Cc: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jakub Kicinski &lt;kuba@kernel.org&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: axienet: allow setups without MDIO</title>
<updated>2021-03-25T23:49:40Z</updated>
<author>
<name>Daniel Mack</name>
</author>
<published>2021-03-24T13:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de9c7854e6e1589f639c6352112956d08243b659'/>
<id>urn:sha1:de9c7854e6e1589f639c6352112956d08243b659</id>
<content type='text'>
In setups with fixed-link settings there is no mdio node in DTS.
axienet_probe() already handles that gracefully but lp-&gt;mii_bus is
then NULL.

Fix code that tries to blindly grab the MDIO lock by introducing two helper
functions that make the locking conditional.

Signed-off-by: Daniel Mack &lt;daniel@zonque.org&gt;
Reviewed-by: Radhey Shyam Pandey &lt;radhey.shyam.pandey@xilinx.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: axienet: Fix probe error cleanup</title>
<updated>2021-03-13T00:51:32Z</updated>
<author>
<name>Robert Hancock</name>
</author>
<published>2021-03-11T20:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59cd4f19267a0aab87a8c07e4426eb7187ee548d'/>
<id>urn:sha1:59cd4f19267a0aab87a8c07e4426eb7187ee548d</id>
<content type='text'>
The driver did not always clean up all allocated resources when probe
failed. Fix the probe cleanup path to clean up everything that was
allocated.

Fixes: 57baf8cc70ea ("net: axienet: Handle deferred probe on clock properly")
Signed-off-by: Robert Hancock &lt;robert.hancock@calian.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2021-02-17T01:51:13Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2021-02-17T01:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d489ded1a3690d7eca8633575cba3f7dac8484c7'/>
<id>urn:sha1:d489ded1a3690d7eca8633575cba3f7dac8484c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>drivers: net: xilinx_emaclite: remove arch limitation</title>
<updated>2021-02-16T22:48:59Z</updated>
<author>
<name>Gary Guo</name>
</author>
<published>2021-02-16T22:33:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18af77c50fede5b3fc22aa9f0a9b255a5c5285c9'/>
<id>urn:sha1:18af77c50fede5b3fc22aa9f0a9b255a5c5285c9</id>
<content type='text'>
The changes made in eccd540 is enough for xilinx_emaclite to run
without problem on 64-bit systems. I have tested it on a Xilinx
FPGA with RV64 softcore. The architecture limitation in Kconfig
seems no longer necessary.

A small change is included to print address with %lx instead of
casting to int and print with %x.

Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
