x86: geode: fix hwrng register accesses
authorJonas Gorski <jonas.gorski@gmail.com>
Sat, 9 Sep 2023 10:44:42 +0000 (12:44 +0200)
committerJonas Gorski <jonas.gorski@gmail.com>
Thu, 14 Sep 2023 09:36:57 +0000 (11:36 +0200)
commitac52e2013a03126ef181e596e6e63271cdbb3d35
treefcce4d67162e3099ebe6610e2f08cddaf3d909a7
parent383ae905a2991759f1cee402e52e58fbcefafbd7
x86: geode: fix hwrng register accesses

When the membase and pci_dev pointer were moved to a new struct in priv,
the actual membase users were left untouched, and they started reading
out arbitrary memory behind the struct instead of registers. This
unfortunately turned the RNG into a constant number generator, depending
on the content of what was at that offset.

To fix this, update geode_rng_data_{read,present}() to also get the
membase via amd_geode_priv, and properly read from the right addresses
again.

Closes #13417.

Reported-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 09d13cd8d87cc50fde67bbe81c6cca4b799b2724)
target/linux/x86/patches-5.4/120-hwrng-geode-fix-accessing-registers.patch [new file with mode: 0644]