Go to file
Uwe Kleine-König 028e9e6cd7 amba: Fix resource leak for drivers without .remove
[ Upstream commit de5d7adb89367bbc87b4e5ce7afe7ae9bd86dc12 ]

Consider an amba driver with a .probe but without a .remove callback (e.g.
pl061_gpio_driver). The function amba_probe() is called to bind a device
and so dev_pm_domain_attach() and others are called. As there is no remove
callback amba_remove() isn't called at unbind time however and so calling
dev_pm_domain_detach() is missed and the pm domain keeps active.

To fix this always use the core driver callbacks and handle missing amba
callbacks there. For probe refuse registration as a driver without probe
doesn't make sense.

Fixes: 7cfe249475fd ("ARM: AMBA: Add pclk support to AMBA bus infrastructure")
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210126165835.687514-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-04-12 12:52:26 +08:00
Documentation KVM: Forbid the use of tagged userspace addresses for memslots 2021-04-12 12:51:44 +08:00
LICENSES Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
arch ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores 2021-04-12 12:52:26 +08:00
block bsg: free the request before return error code 2021-04-12 12:52:19 +08:00
certs certs: Fix blacklist flag type confusion 2021-04-12 12:52:25 +08:00
crypto crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() 2021-04-12 12:52:21 +08:00
drivers amba: Fix resource leak for drivers without .remove 2021-04-12 12:52:26 +08:00
fs isofs: release buffer head before return 2021-04-12 12:52:25 +08:00
include certs: Fix blacklist flag type confusion 2021-04-12 12:52:25 +08:00
init fgraph: Initialize tracing_graph_pause at task creation 2021-04-12 12:51:55 +08:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2021-03-16 16:27:51 +08:00
kernel ima: Free IMA measurement buffer after kexec syscall 2021-04-12 12:52:21 +08:00
lib udp: fix skb_copy_and_csum_datagram with odd segment sizes 2021-04-12 12:52:05 +08:00
mm mm: provide a saner PTE walking API for modules 2021-04-12 12:52:09 +08:00
net bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx 2021-04-12 12:52:15 +08:00
package generate-rpms: modify the name of the kernel tag for x86 and arm64 2021-04-07 06:53:59 +00:00
samples samples: bpf: Fix lwt_len_hist reusing previous BPF map 2021-03-16 16:42:53 +08:00
scripts scripts/recordmcount.pl: support big endian for ARCH sh 2021-04-12 12:52:10 +08:00
security certs: Fix blacklist flag type confusion 2021-04-12 12:52:25 +08:00
sound ASoC: simple-card-utils: Fix device module clock 2021-04-12 12:52:21 +08:00
tools objtool: Fix ".cold" section suffix check for newer versions of GCC 2021-04-12 12:52:25 +08:00
usr Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
virt KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() 2021-04-12 12:52:09 +08:00
.clang-format Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.cocciconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.get_maintainer.ignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitattributes Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
COPYING Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
CREDITS Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
MAINTAINERS Documentation/llvm: add documentation on building w/ Clang/LLVM 2021-03-16 16:34:24 +08:00
Makefile x86/build: Disable CET instrumentation in the kernel 2021-04-12 12:51:57 +08:00
README Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
README.md Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
backport_remove_lists.txt Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
tools_key.pub Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00

README.md

Tencent Linux Kernel 4.0