android_kernel_oneplus_msm8998/drivers
Rafael J. Wysocki 98c2845053 PM / sleep: Handle failures in device_suspend_late() consistently
commit 3a17fb329da68cb00558721aff876a80bba2fdb9 upstream.

Grygorii Strashko reports:

 The PM runtime will be left disabled for the device if its
 .suspend_late() callback fails and async suspend is not allowed
 for this device. In this case device will not be added in
 dpm_late_early_list and dpm_resume_early() will ignore this
 device, as result PM runtime will be disabled for it forever
 (side effect: after 8 subsequent failures for the same device
 the PM runtime will be reenabled due to disable_depth overflow).

To fix this problem, add devices to dpm_late_early_list regardless
of whether or not device_suspend_late() returns errors for them.

That will ensure failures in there to be handled consistently for
all devices regardless of their async suspend/resume status.

Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-06-07 18:14:37 -07:00
..
accessibility
acpi ACPI / osi: Fix an issue that acpi_osi=!* cannot disable ACPICA internal strings 2016-06-01 12:15:50 -07:00
amba
android drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE 2016-03-03 15:07:10 -08:00
ata ata: ahci-platform: Add ports-implemented DT bindings. 2016-05-11 11:21:21 +02:00
atm
auxdisplay
base PM / sleep: Handle failures in device_suspend_late() consistently 2016-06-07 18:14:37 -07:00
bcma
block nbd: ratelimit error msgs after socket close 2016-05-11 11:21:10 +02:00
bluetooth Bluetooth: vhci: Fix race at creating hci device 2016-06-01 12:15:50 -07:00
bus bus: imx-weim: Take the 'status' property value into account 2016-05-04 14:48:54 -07:00
cdrom
char hwrng: exynos - Fix unbalanced PM runtime put on timeout error path 2016-06-07 18:14:33 -07:00
clk clk: bcm2835: divider value has to be 1 or more 2016-06-07 18:14:35 -07:00
clocksource clockevents/tcb_clksrc: Prevent disabling an already disabled clock 2016-03-03 15:07:15 -08:00
connector connector: bump skb->users before callback invocation 2016-01-04 21:46:45 -05:00
cpufreq cpufreq: intel_pstate: Fix processing for turbo activation ratio 2016-05-04 14:48:44 -07:00
cpuidle cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter() 2016-06-07 18:14:34 -07:00
crypto crypto: sun4i-ss - Replace spinlock_bh by spin_lock_irq{save|restore} 2016-06-01 12:15:49 -07:00
dca
devfreq
dio
dma dmaengine: pxa_dma: fix the maximum requestor line 2016-05-04 14:48:42 -07:00
dma-buf
edac EDAC: i7core, sb_edac: Don't return NOTIFY_BAD from mce_decoder callback 2016-05-04 14:48:48 -07:00
eisa
extcon extcon: max77843: Use correct size for reading the interrupt register 2016-05-04 14:48:54 -07:00
firewire
firmware efi: Expose non-blocking set_variable() wrapper to efivars 2016-05-04 14:48:49 -07:00
fmc
fpga
gpio gpio: revert get() to non-errorprogating behaviour 2015-12-17 15:48:29 +01:00
gpu drm/imx: Match imx-ipuv3-crtc components using device node in platform data 2016-06-07 18:14:37 -07:00
hid HID: Fix boot delay for Creative SB Omni Surround 5.1 with quirk 2016-05-11 11:21:15 +02:00
hsi
hv Drivers: hv: vmbus: Fix a Host signaling bug 2016-03-03 15:07:16 -08:00
hwmon hwmon: (ads7828) Enable internal reference 2016-06-07 18:14:34 -07:00
hwspinlock drivers/hwspinlock: fix race between radix tree insertion and lookup 2016-02-25 12:01:23 -08:00
hwtracing stm class: Select CONFIG_SRCU 2016-05-04 14:48:54 -07:00
i2c i2c: exynos5: Fix possible ABBA deadlock by keeping I2C clock prepared 2016-05-04 14:48:47 -07:00
ide
idle intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled 2016-04-12 09:09:05 -07:00
iio iio: ak8975: fix maybe-uninitialized warning 2016-05-11 11:21:23 +02:00
infiniband IB/srp: Fix a debug kernel crash 2016-06-01 12:15:53 -07:00
input Input: uinput - handle compat ioctl for UI_SET_PHYS 2016-06-07 18:14:32 -07:00
iommu iommu/dma: Restore scatterlist offsets correctly 2016-05-04 14:48:45 -07:00
ipack
irqchip irqchip/gic-v3: Configure all interrupts as non-secure Group-1 2016-06-01 12:15:49 -07:00
isdn ser_gigaset: remove unnecessary kfree() calls from release method 2015-12-15 13:24:21 -05:00
leds
lguest
lightnvm lightnvm: wrong offset in bad blk lun calculation 2015-12-29 08:28:32 -07:00
macintosh
mailbox
mcb mcb: Fixed bar number assignment for the gdd 2016-06-01 12:15:53 -07:00
md MD: make bio mergeable 2016-05-11 11:21:13 +02:00
media media: v4l2-compat-ioctl32: fix missing reserved field copy in put_v4l2_create32 2016-06-07 18:14:35 -07:00
memory fsl-ifc: add missing include on ARM64 2015-12-16 00:16:58 +01:00
memstick
message
mfd mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly 2016-06-07 18:14:34 -07:00
misc mei: bus: call mei_cl_read_start under device lock 2016-06-01 12:15:50 -07:00
mmc mmc: sdhci-pci: Remove MMC_CAP_BUS_WIDTH_TEST for Intel controllers 2016-06-01 12:15:50 -07:00
mtd UBI: Fix static volume checks when Fastmap is used 2016-06-01 12:15:54 -07:00
net rtlwifi: pci: use dev_kfree_skb_irq instead of kfree_skb in rtl_pci_reset_trx_ring 2016-06-07 18:14:33 -07:00
nfc
ntb
nubus
nvdimm libnvdimm, pfn: fix uuid validation 2016-04-20 15:41:54 +09:00
nvme NVMe: IO ending fixes on surprise removal 2015-12-22 10:12:04 -07:00
nvmem nvmem: mxs-ocotp: fix buffer overflow in read 2016-05-11 11:21:21 +02:00
of of: alloc anywhere from memblock if range not specified 2016-04-12 09:08:55 -07:00
oprofile
parisc parisc iommu: fix panic due to trying to allocate too large region 2015-12-12 16:07:25 +01:00
parport
pci PCI: Disable all BAR sizing for devices with non-compliant BARs 2016-06-07 18:14:35 -07:00
pcmcia pcmcia: db1xxx_ss: fix last irq_to_gpio user 2016-04-20 15:42:09 +09:00
perf
phy phy: core: fix wrong err handle for phy_power_on 2016-03-03 15:07:28 -08:00
pinctrl pinctrl: exynos5440: Use off-stack memory for pinctrl_gpio_range 2016-06-07 18:14:35 -07:00
platform dell-rbtn: Ignore ACPI notifications if device is suspended 2016-06-01 12:15:50 -07:00
pnp
power
powercap powercap / RAPL: fix BIOS lock check 2015-12-12 02:31:11 +01:00
pps
ps3
ptp
pwm pwm: brcmstb: Fix check of devm_ioremap_resource() return code 2016-05-04 14:48:47 -07:00
rapidio
ras
regulator regulator: axp20x: Fix axp22x ldo_io voltage ranges 2016-05-18 17:06:51 -07:00
remoteproc
reset
rpmsg
rtc rtc: max77686: Properly handle regmap_irq_get_virq() error code 2016-05-04 14:48:52 -07:00
s390 s390/dasd: fix diag 0x250 inline assembly 2016-03-16 08:42:58 -07:00
sbus
scsi aacraid: Fix for KDUMP driver hang 2016-06-07 18:14:34 -07:00
sfi
sh drivers: sh: Restore legacy clock domain on SuperH platforms 2016-03-09 15:34:49 -08:00
sn
soc soc: rockchip: power-domain: fix err handle while probing 2016-05-11 11:21:11 +02:00
spi spi: spi-ti-qspi: Handle truncated frames properly 2016-05-18 17:06:47 -07:00
spmi
ssb
staging staging: comedi: das1800: fix possible NULL dereference 2016-06-01 12:15:52 -07:00
target target: Fix target_release_cmd_kref shutdown comp leak 2016-04-12 09:09:02 -07:00
tc
thermal thermal: rockchip: fix a impossible condition caused by the warning 2016-05-04 14:48:54 -07:00
thunderbolt thunderbolt: Fix double free of drom buffer 2016-06-01 12:15:53 -07:00
tty QE-UART: add "fsl,t1040-ucc-uart" to of_device_id 2016-06-07 18:14:35 -07:00
uio
usb usb: gadget: udc: core: Fix argument of dev_err() in usb_gadget_map_request() 2016-06-01 12:15:52 -07:00
uwb
vfio vfio: fix ioctl error handling 2016-03-09 15:34:50 -08:00
vhost vhost: replace % with & on data path 2015-12-07 17:28:10 +02:00
video fbdev: da8xx-fb: fix videomodes of lcd panels 2016-05-04 14:48:51 -07:00
virt
virtio virtio: virtio 1.0 cs04 spec compliance for reset 2016-04-20 15:42:10 +09:00
vlynq
vme
w1
watchdog watchdog: rc32434_wdt: fix ioctl error handling 2016-04-12 09:08:54 -07:00
xen xen/events: Don't move disabled irqs 2016-06-07 18:14:36 -07:00
zorro
Kconfig
Makefile