linux-stable/drivers
Martin Kaiser 76a71852ed hwrng: nomadik - keep clock enabled while hwrng is registered
[ Upstream commit 039980de89 ]

The nomadik driver uses devres to register itself with the hwrng core,
the driver will be unregistered from hwrng when its device goes out of
scope. This happens after the driver's remove function is called.

However, nomadik's clock is disabled in the remove function. There's a
short timeframe where nomadik is still registered with the hwrng core
although its clock is disabled. I suppose the clock must be active to
access the hardware and serve requests from the hwrng core.

Switch to devm_clk_get_enabled and let devres disable the clock and
unregister the hwrng. This avoids the race condition.

Fixes: 3e75241be8 ("hwrng: drivers - Use device-managed registration API")
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-13 09:48:00 +02:00
..
accel accel/qaic: Clean up integer overflow checking in map_user_pages() 2023-08-23 17:32:45 +02:00
accessibility
acpi ACPI: x86: s2idle: Fix a logic error parsing AMD constraints table 2023-09-13 09:47:59 +02:00
amba
android binder: fix memory leak in binder_init() 2023-08-16 18:32:21 +02:00
ata ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer() 2023-09-13 09:47:52 +02:00
atm
auxdisplay
base x86/srso: Add a Speculative RAS Overflow mitigation 2023-08-08 20:04:51 +02:00
bcma
block zram: take device and not only bvec offset into account 2023-08-16 18:32:17 +02:00
bluetooth Bluetooth: btrtl: Load FW v2 otherwise FW v1 for RTL8852C 2023-09-13 09:47:56 +02:00
bus bus: ti-sysc: Flush posted write on enable before reset 2023-08-23 17:32:49 +02:00
cdrom
cdx cdx: fix driver managed dma support 2023-07-19 16:36:37 +02:00
char hwrng: nomadik - keep clock enabled while hwrng is registered 2023-09-13 09:48:00 +02:00
clk clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM 2023-09-13 09:47:53 +02:00
clocksource clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe 2023-07-19 16:35:14 +02:00
comedi
connector
counter
cpufreq cpufreq: tegra194: remove opp table in exit hook 2023-09-13 09:47:59 +02:00
cpuidle cpuidle: teo: Update idle duration estimate when choosing shallower state 2023-09-13 09:47:58 +02:00
crypto crypto: qat - change value of default idle filter 2023-09-13 09:48:00 +02:00
cxl cxl/acpi: Return 'rc' instead of '0' in cxl_parse_cfmws() 2023-08-03 10:25:57 +02:00
dax dax/kmem: Pass valid argument to memory_group_register_static 2023-07-19 16:36:20 +02:00
dca
devfreq
dio
dma idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM 2023-09-13 09:47:53 +02:00
dma-buf dma-buf/sw_sync: Avoid recursive lock during fence signal 2023-08-30 14:52:44 +02:00
edac
eisa
extcon extcon: Fix kernel doc of property capability fields to avoid warnings 2023-07-19 16:36:31 +02:00
firewire firewire: net: fix use after free in fwnet_finish_incoming_packet() 2023-08-23 17:32:32 +02:00
firmware x86/efistub: Fix PCI ROM preservation in mixed mode 2023-09-13 09:47:59 +02:00
fpga
fsi fsi: master-ast-cf: Add MODULE_FIRMWARE macro 2023-09-06 21:25:32 +01:00
gnss
gpio gpiolib: fix reference leaks when removing GPIO chips still in use 2023-09-13 09:47:55 +02:00
gpu drm/amd/display: ensure async flips are only accepted for fast updates 2023-09-13 09:47:56 +02:00
greybus
hid HID: wacom: remove the battery when the EKR is off 2023-09-06 21:25:30 +01:00
hsi
hte
hv x86/hyperv: Fix hyperv_pcpu_input_arg handling when CPUs go online/offline 2023-06-17 23:09:47 +00:00
hwmon hwmon: (aquacomputer_d5next) Add selective 200ms delay after sending ctrl report 2023-08-16 18:32:25 +02:00
hwspinlock
hwtracing hwtracing: hisi_ptt: Fix potential sleep in atomic context 2023-07-19 16:36:39 +02:00
i2c i2c: imx-lpi2c: return -EINVAL when i2c peripheral clk doesn't work 2023-09-13 09:47:55 +02:00
i3c i3c: master: svc: fix cpu schedule in spin lock 2023-07-19 16:36:33 +02:00
idle
iio iio: light: bu27034: Fix scale format 2023-08-16 18:32:23 +02:00
infiniband RDMA/bnxt_re: consider timeout of destroy ah as success. 2023-08-23 17:32:28 +02:00
input Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN 2023-09-13 09:47:56 +02:00
interconnect interconnect: qcom: sm8550: add enable_mask for bcm nodes 2023-08-16 18:32:23 +02:00
iommu iommu/amd: Introduce Disable IRTE Caching Support 2023-08-23 17:32:27 +02:00
ipack
irqchip irqchip/loongson-eiointc: Fix return value checking of eiointc_index 2023-09-13 09:47:59 +02:00
isdn mISDN: Update parameter type of dsp_cmx_send() 2023-08-16 18:32:25 +02:00
leds led: qcom-lpg: Fix resource leaks in for_each_available_child_of_node() loops 2023-08-23 17:32:30 +02:00
macintosh
mailbox mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 2023-07-19 16:36:45 +02:00
mcb
md dm cache policy smq: ensure IO doesn't prevent cleaner policy progress 2023-08-03 10:26:13 +02:00
media media: pci: cx23885: fix error handling for cx23885 ATSC boards 2023-09-13 09:47:50 +02:00
memory memory: brcmstb_dpfe: fix testing array offset after use 2023-07-19 16:35:53 +02:00
memstick memstick r592: make memstick_debug_get_tpc_name() static 2023-07-19 16:35:28 +02:00
message
mfd mfd: pm8008: Fix module autoloading 2023-07-23 13:54:01 +02:00
misc misc: rtsx: judge ASPM Mode to set PETXCFG Reg 2023-08-16 18:32:21 +02:00
mmc mmc: au1xmmc: force non-modular build and remove symbol_get usage 2023-09-06 21:25:29 +01:00
most
mtd mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op() 2023-08-11 12:14:27 +02:00
mux
net Revert "net: macsec: preserve ingress frame ordering" 2023-09-13 09:47:56 +02:00
nfc nfc: fdp: Add MODULE_FIRMWARE macros 2023-06-18 11:19:52 +01:00
ntb NTB: ntb_tool: Add check for devm_kcalloc 2023-07-23 13:53:43 +02:00
nubus nubus: Partially revert proc_create_single_data() conversion 2023-07-05 18:30:30 +01:00
nvdimm
nvme nvme-pci: add NVME_QUIRK_BOGUS_NID for Samsung PM9B1 256G and 512G 2023-08-16 18:32:18 +02:00
nvmem nvmem: rmem: Use NVMEM_DEVID_AUTO 2023-07-19 16:36:37 +02:00
of of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock 2023-08-30 14:52:41 +02:00
opp OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd() 2023-09-13 09:47:57 +02:00
parisc
parport
pci Revert "PCI: tegra194: Enable support for 256 Byte payload" 2023-09-13 09:47:56 +02:00
pcmcia pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db() 2023-08-23 17:32:31 +02:00
peci
perf perf/imx_ddr: don't enable counter0 if none of 4 counters are used 2023-09-13 09:47:58 +02:00
phy phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code 2023-09-13 09:47:49 +02:00
pinctrl pinctrl: amd: Don't show Invalid config param errors 2023-09-06 21:25:33 +01:00
platform platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications 2023-09-13 09:47:55 +02:00
pnp
power power: supply: rt9467: Make charger-enable control as logic level 2023-07-19 16:36:33 +02:00
powercap powercap: arm_scmi: Remove recursion while parsing zones 2023-09-13 09:47:57 +02:00
pps
ps3
ptp
pwm pwm: meson: fix handling of period/duty if greater than UINT_MAX 2023-07-23 13:54:11 +02:00
rapidio
ras
regulator regulator: da9063: better fix null deref with partial DT 2023-08-23 17:32:52 +02:00
remoteproc
reset
rpmsg
rtc rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff 2023-09-06 21:25:29 +01:00
s390 s390/pkey: fix PKEY_TYPE_EP11_AES handling for sysfs attributes 2023-09-13 09:47:59 +02:00
sbus
scsi scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock 2023-09-13 09:47:54 +02:00
sh
siox
slimbus
soc soc: aspeed: socinfo: Add kfree for kstrdup 2023-08-23 17:32:51 +02:00
soundwire soundwire: fix enumeration completion 2023-08-03 10:26:10 +02:00
spi spi: spi-cadence: Fix data corruption issues in slave mode 2023-08-30 14:52:34 +02:00
spmi
ssb
staging staging: fbtft: ili9341: use macro FBTFT_REGISTER_SPI_DRIVER 2023-09-13 09:47:52 +02:00
target scsi: target: core: Fix error path in target_setup_session() 2023-06-14 21:54:35 -04:00
tc
tee
thermal thermal/of: Fix potential uninitialized value access 2023-09-13 09:47:59 +02:00
thunderbolt thunderbolt: Fix a backport error for display flickering issue 2023-09-02 09:14:38 +02:00
tty serial: sc16is7xx: fix bug when first setting GPIO direction 2023-09-06 21:25:32 +01:00
ufs scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5 2023-08-30 14:52:43 +02:00
uio
usb usb: typec: tcpci: clear the fault status bit 2023-09-06 21:25:33 +01:00
vdpa vdpa/mlx5: Correct default number of queues when MQ is on 2023-09-13 09:47:54 +02:00
vfio vfio/mdev: Move the compat_class initialization to module init 2023-07-19 16:36:18 +02:00
vhost vhost-scsi: Fix alignment handling with windows 2023-09-13 09:47:54 +02:00
video fbdev: goldfishfb: Do not check 0 for platform_get_irq() 2023-09-13 09:47:55 +02:00
virt virt: sevguest: Add CONFIG_CRYPTO dependency 2023-07-19 16:35:08 +02:00
virtio virtio-mem: check if the config changed before fake offlining memory 2023-09-13 09:47:54 +02:00
vlynq
w1 w1: fix loop in w1_fini() 2023-07-19 16:36:25 +02:00
watchdog watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) 2023-08-23 17:32:32 +02:00
xen xen: speed up grant-table reclaim 2023-08-03 10:26:09 +02:00
zorro
Kconfig
Makefile