Douglas Anderson
fef59ee6c0
PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
...
[ Upstream commit b4060db9251f919506e4d672737c6b8ab9a84701 ]
The PM Runtime docs say:
Drivers in ->remove() callback should undo the runtime PM changes done
in ->probe(). Usually this means calling pm_runtime_disable(),
pm_runtime_dont_use_autosuspend() etc.
>From grepping code, it's clear that many people aren't aware of the
need to call pm_runtime_dont_use_autosuspend().
When brainstorming solutions, one idea that came up was to leverage
the new-ish devm_pm_runtime_enable() function. The idea here is that:
* When the devm action is called we know that the driver is being
removed. It's the perfect time to undo the use_autosuspend.
* The code of pm_runtime_dont_use_autosuspend() already handles the
case of being called when autosuspend wasn't enabled.
Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Stable-dep-of: 3d07a411b4fa ("drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks")
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:25:14 +01:00
..
accessibility
acpi
ACPI: extlog: fix NULL pointer dereference check
2024-02-23 08:24:54 +01:00
amba
amba: bus: fix refcount leak
2023-09-23 10:59:52 +02:00
android
binder: signal epoll threads of self-work
2024-02-23 08:25:11 +01:00
ata
ata: pata_isapnp: Add missing error check for devm_ioport_map()
2023-12-08 08:44:23 +01:00
atm
atm: idt77252: fix a memleak in open_card_ubr0
2024-02-23 08:25:06 +01:00
auxdisplay
base
PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
2024-02-23 08:25:14 +01:00
bcma
block
rbd: don't move requests to the running list on errors
2024-02-23 08:24:52 +01:00
bluetooth
Bluetooth: btmtkuart: fix recv_buf() return value
2024-01-25 14:34:26 -08:00
bus
bus: moxtet: Add spi device table
2024-02-23 08:25:13 +01:00
cdrom
char
hwrng: core - Fix page fault dead lock on mmap-ed hwrng
2024-02-23 08:24:48 +01:00
clk
clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
2024-02-23 08:25:01 +01:00
clocksource
clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
2023-11-28 16:50:13 +00:00
connector
counter
cpufreq
cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
2023-12-08 08:44:28 +01:00
cpuidle
crypto
crypto: stm32/crc32 - fix parsing list of devices
2024-02-23 08:24:55 +01:00
dax
dca
devfreq
PM / devfreq: Fix leak in devfreq_dev_release()
2023-09-23 10:59:54 +02:00
dio
dma
dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
2024-02-23 08:25:06 +01:00
dma-buf
dma-buf/sw_sync: Avoid recursive lock during fence signal
2023-08-30 16:27:28 +02:00
edac
EDAC/thunderx: Fix possible out-of-bounds string access
2024-01-25 14:34:21 -08:00
eisa
extcon
firewire
firewire: core: correct documentation of fw_csr_string() kernel API
2024-02-23 08:25:10 +01:00
firmware
firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
2024-01-25 14:34:25 -08:00
fpga
fsi
fsi: master-ast-cf: Add MODULE_FIRMWARE macro
2023-09-23 10:59:37 +02:00
gnss
gpio
gpio: eic-sprd: Clear interrupt after set the interrupt type
2024-02-23 08:24:53 +01:00
gpu
drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
2024-02-23 08:25:03 +01:00
greybus
hid
HID: wacom: Do not register input devices until after hid_hw_start
2024-02-23 08:25:10 +01:00
hsi
hv
hwmon
hwmon: (coretemp) Fix bogus core_id to attr name mapping
2024-02-23 08:25:07 +01:00
hwspinlock
hwtracing
coresight: etm4x: Fix width of CCITMIN field
2024-01-25 14:34:21 -08:00
i2c
i2c: i801: Fix block process call transactions
2024-02-23 08:25:10 +01:00
i3c
i3c: master: cdns: Update maximum prescaler value for i2c clock
2024-02-23 08:25:02 +01:00
ide
idle
iio
iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
2024-02-23 08:25:11 +01:00
infiniband
IB/ipoib: Fix mcast list locking
2024-02-23 08:25:01 +01:00
input
Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
2024-02-23 08:25:08 +01:00
interconnect
interconnect: Treat xlate() returning NULL node as an error
2024-01-08 11:29:45 +01:00
iommu
of/iommu: Make of_map_rid() PCI agnostic
2023-12-13 18:18:11 +01:00
ipack
irqchip
irqchip/irq-brcmstb-l2: Add write memory barrier before exit
2024-02-23 08:25:13 +01:00
isdn
leds
leds: trigger: panic: Don't register panic notifier if creating the trigger failed
2024-02-23 08:25:02 +01:00
lightnvm
macintosh
mailbox
mcb
mcb: fix error handling for different scenarios when parsing
2023-11-28 16:50:19 +00:00
md
Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
2024-02-23 08:25:13 +01:00
media
media: ddbridge: fix an error code problem in ddb_probe
2024-02-23 08:25:01 +01:00
memory
memstick
message
mfd
mfd: ti_am335x_tscadc: Fix TI SoC dependencies
2024-02-23 08:25:02 +01:00
misc
misc: fastrpc: Mark all sessions as invalid in cb_remove
2024-02-23 08:25:11 +01:00
mmc
mmc: slot-gpio: Allow non-sleeping GPIO ro
2024-02-23 08:25:12 +01:00
mtd
mtd: spinand: macronix: Fix MX35LFxGE4AD page size
2024-02-23 08:24:49 +01:00
mux
net
nfp: flower: prevent re-adding mac index for bonded port
2024-02-23 08:25:13 +01:00
nfc
ntb
ntb: Fix calculation ntb_transport_tx_free_entry()
2023-09-23 10:59:55 +02:00
nubus
nvdimm
nd_btt: Make BTT lanes preemptible
2023-11-20 10:30:12 +01:00
nvme
nvmet-tcp: Fix the H2C expected PDU len calculation
2024-01-25 14:34:32 -08:00
nvmem
nvmem: imx: correct nregs for i.MX6UL
2023-11-08 11:23:37 +01:00
of
of: unittest: Fix compile in the non-dynamic case
2024-02-23 08:25:09 +01:00
opp
OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
2023-09-23 10:59:40 +02:00
oprofile
parisc
parisc: iosapic.c: Fix sparse warnings
2023-10-10 21:46:39 +02:00
parport
parport: parport_serial: Add Brainboxes device IDs and geometry
2024-01-25 14:34:21 -08:00
pci
PCI/AER: Decode Requester ID when no error info found
2024-02-23 08:25:03 +01:00
pcmcia
pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
2023-11-20 10:30:14 +01:00
perf
perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
2023-09-23 11:00:03 +02:00
phy
phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
2024-02-23 08:25:06 +01:00
pinctrl
pinctrl: lochnagar: Don't build on MIPS
2024-01-25 14:34:19 -08:00
platform
platform/x86: intel_telemetry: Fix kernel doc descriptions
2023-12-20 15:41:21 +01:00
pnp
PNP: ACPI: fix fortify warning
2024-02-23 08:24:54 +01:00
power
powercap
pps
ps3
ptp
ptp: annotate data-race around q->head and q->tail
2023-11-28 16:50:16 +00:00
pwm
pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
2023-11-20 10:30:15 +01:00
rapidio
ras
regulator
regulator: core: Only increment use_count when enable_count changes
2024-02-23 08:24:54 +01:00
remoteproc
reset
reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
2024-01-25 14:34:20 -08:00
rpmsg
rpmsg: virtio: Free driver_override when rpmsg_remove()
2024-02-23 08:24:48 +01:00
rtc
rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
2023-11-20 10:30:14 +01:00
s390
s390/scm: fix virtual vs physical address confusion
2024-01-25 14:34:20 -08:00
sbus
scsi
scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
2024-02-23 08:25:10 +01:00
sfi
sh
siox
slimbus
soc
soc: qcom: llcc: Handle a second device without data corruption
2023-11-20 10:30:12 +01:00
soundwire
soundwire: stream: fix NULL pointer dereference for multi_link
2023-12-20 15:41:24 +01:00
spi
spi: ppc4xx: Drop write-only variable
2024-02-23 08:25:09 +01:00
spmi
ssb
staging
staging: iio: ad5933: fix type mismatch regression
2024-02-23 08:25:11 +01:00
target
scsi: target: core: Fix deadlock due to recursive locking
2023-10-10 21:46:43 +02:00
tc
tee
thermal
thermal: core: prevent potential string overflow
2023-11-20 10:30:09 +01:00
thunderbolt
tty
serial: max310x: improve crystal stable clock detection
2024-02-23 08:25:12 +01:00
uio
uio: Fix use-after-free in uio_open
2024-01-25 14:34:21 -08:00
usb
usb: f_mass_storage: forbid async queue when shutdown happen
2024-02-23 08:25:10 +01:00
vfio
vhost
vhost: use kzalloc() instead of kmalloc() followed by memset()
2024-02-23 08:25:08 +01:00
video
fbdev: flush deferred work in fb_deferred_io_fsync()
2024-01-25 14:34:30 -08:00
virt
virtio
virtio-mmio: fix memory leak of vm_dev
2023-11-08 11:23:34 +01:00
visorbus
vlynq
vme
w1
watchdog
watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
2024-01-25 14:34:28 -08:00
xen
xen/events: fix delayed eoi list handling
2023-11-28 16:50:16 +00:00
zorro
Kconfig
Makefile