<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/crypto/marvell/cesa, branch stable</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/crypto/marvell/cesa?h=stable</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/crypto/marvell/cesa?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2026-08-10T08:28:56Z</updated>
<entry>
<title>crypto: cesa - clear cesa_dev on _remove</title>
<updated>2026-08-10T08:28:56Z</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2026-07-30T19:00:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=e5658c60414627502ed1e9aea77a3086d53e100a'/>
<id>urn:sha1:e5658c60414627502ed1e9aea77a3086d53e100a</id>
<content type='text'>
This is already done on probe failure.

cesa_dev should be set to NULL as the driver checks that it is not and
errors saying that only one device is authorized.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cesa - manage SRAM teardown with devm</title>
<updated>2026-07-30T07:36:41Z</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2026-07-17T23:17:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8b1fea9dda01d0ee7ac0b7ec87dbb9fabbf244aa'/>
<id>urn:sha1:8b1fea9dda01d0ee7ac0b7ec87dbb9fabbf244aa</id>
<content type='text'>
mv_cesa_put_sram() is called explicitly from both the probe error path
and mv_cesa_remove(). The non-pool ioremap is already devm-managed, but
dma_map_resource() and gen_pool_dma_alloc() have no devm helpers, so the
mapping is released by hand. This is error-prone: the error path iterates
over every engine and can dma_unmap_resource() an uninitialized/zero
address for engines that were never set up.

Convert the teardown into a devm_add_action_or_reset() callback registered
only after a mapping is successfully established. The callback fires
automatically on probe failure (devres rollback) and on device detach,
after mv_cesa_remove() has already stopped the engine and freed the IRQ,
so the unmap still happens in a safe order. This deletes the explicit
mv_cesa_put_sram() calls and the uninitialized-engine bug at once.

Add a struct mv_cesa_dev back-pointer to struct mv_cesa_engine so the
callback can reach cesa-&gt;dev and cesa-&gt;sram_size from the engine alone.

Assisted-by: opencode:hy3-free
Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cesa - use max to simplify mv_cesa_probe</title>
<updated>2026-05-22T12:25:28Z</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2026-05-12T13:34:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=209466c5fe352b81b9fa9d135bbffbac18350fb2'/>
<id>urn:sha1:209466c5fe352b81b9fa9d135bbffbac18350fb2</id>
<content type='text'>
Use max() to simplify mv_cesa_probe() and improve its readability.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cesa - allocate engines with main struct</title>
<updated>2026-05-07T08:10:02Z</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2026-04-25T02:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=6ef4cd5b0c2b13bbf8689d50abbe51c052f31a03'/>
<id>urn:sha1:6ef4cd5b0c2b13bbf8689d50abbe51c052f31a03</id>
<content type='text'>
Use a flexible array member to combine and simplify allocation.

Move struct mv_cesa_dev down as flexible array members require full
definitions.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: marvell/cesa - use memcpy_and_pad in mv_cesa_ahash_export</title>
<updated>2026-03-27T09:52:25Z</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2026-03-17T16:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=914b0c68d4decebe52b31929f89364de32d0156e'/>
<id>urn:sha1:914b0c68d4decebe52b31929f89364de32d0156e</id>
<content type='text'>
Replace memset() followed by memcpy() with memcpy_and_pad() to simplify
the code and to write to 'cache' only once.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cesa - Simplify return statement in mv_cesa_dequeue_req_locked</title>
<updated>2026-02-06T10:52:22Z</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2026-01-31T21:42:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=cd966e406b2aa08b76949cdd4e57458f4afe38b0'/>
<id>urn:sha1:cd966e406b2aa08b76949cdd4e57458f4afe38b0</id>
<content type='text'>
Return the result of calling crypto_dequeue_request() directly and
remove the local return variable.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: cesa - Simplify with of_device_get_match_data()</title>
<updated>2025-11-14T10:15:49Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2025-11-07T08:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=054c7f7ad323fde38fd8d1a7858aae16330e4fc1'/>
<id>urn:sha1:054c7f7ad323fde38fd8d1a7858aae16330e4fc1</id>
<content type='text'>
Driver's probe function matches against driver's of_device_id table,
where each entry has non-NULL match data, so of_match_node() can be
simplified with of_device_get_match_data().

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: marvell/cesa - Fix engine load inaccuracy</title>
<updated>2025-06-13T09:26:16Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2025-05-22T12:41:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=442134ab30e75b7229c4bfc1ac5641d245cffe27'/>
<id>urn:sha1:442134ab30e75b7229c4bfc1ac5641d245cffe27</id>
<content type='text'>
If an error occurs during queueing the engine load will never be
decremented.  Fix this by moving the engine load adjustment into
the cleanup function.

Fixes: bf8f91e71192 ("crypto: marvell - Add load balancing between engines")
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: marvell/cesa - Remove unnecessary state setting on final</title>
<updated>2025-06-13T09:26:16Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2025-05-22T09:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=0e801fe7d8103049fb2da1646ccc47e8c6d32596'/>
<id>urn:sha1:0e801fe7d8103049fb2da1646ccc47e8c6d32596</id>
<content type='text'>
There is no point in setting the hash state after finalisation
since the hash state must never be used again.  Remove that code.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: marvell/cesa - Do not chain submitted requests</title>
<updated>2025-05-21T05:27:46Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2025-05-08T05:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=0413bcf0fc460a68a2a7a8354aee833293d7d693'/>
<id>urn:sha1:0413bcf0fc460a68a2a7a8354aee833293d7d693</id>
<content type='text'>
This driver tries to chain requests together before submitting them
to hardware in order to reduce completion interrupts.

However, it even extends chains that have already been submitted
to hardware.  This is dangerous because there is no way of knowing
whether the hardware has already read the DMA memory in question
or not.

Fix this by splitting the chain list into two.  One for submitted
requests and one for requests that have not yet been submitted.
Only extend the latter.

Reported-by: Klaus Kudielka &lt;klaus.kudielka@gmail.com&gt;
Fixes: 85030c5168f1 ("crypto: marvell - Add support for chaining crypto requests in TDMA mode")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
