Can Guo
cf218ddb22
block: Fix a race in the runtime power management code
...
With the current implementation the following race can happen:
* blk_pre_runtime_suspend() calls blk_freeze_queue_start() and
blk_mq_unfreeze_queue().
* blk_queue_enter() calls blk_queue_pm_only() and that function returns
true.
* blk_queue_enter() calls blk_pm_request_resume() and that function does
not call pm_request_resume() because the queue runtime status is
RPM_ACTIVE.
* blk_pre_runtime_suspend() changes the queue status into RPM_SUSPENDING.
Fix this race by changing the queue runtime status into RPM_SUSPENDING
before switching q_usage_counter to atomic mode.
Change-Id: I5a2c842b959b8c57730b12e4f372abc515a8c8ab
Signed-off-by: Can Guo <cang@codeaurora.org>
2020-08-20 12:17:49 +08:00
..
partitions
badblocks.c
bfq-cgroup.c
block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline
2020-04-23 10:36:26 +02:00
bfq-iosched.c
block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup
2020-04-23 10:36:26 +02:00
bfq-iosched.h
block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup
2020-04-23 10:36:26 +02:00
bfq-wf2q.c
block, bfq: get a ref to a group when adding it to a service tree
2020-03-12 13:00:32 +01:00
bio-crypt-ctx.c
ANDROID: dm: add dm-default-key target for metadata encryption
2020-01-24 10:52:54 -08:00
bio-integrity.c
block: release bip in a right way in error path
2020-07-16 08:16:36 +02:00
bio.c
This is the 5.4.15 stable release
2020-01-26 11:14:46 +01:00
blk-cgroup.c
blkcg: make blkcg_print_stat() print stats only for online blkgs
2019-11-06 17:08:38 -07:00
blk-core.c
This is the 5.4.44 stable release
2020-06-04 08:23:35 +02:00
blk-crypto-fallback.c
ANDROID: block: require drivers to declare supported crypto key type(s)
2020-04-07 17:58:49 +00:00
blk-crypto-internal.h
ANDROID: block: make blk_crypto_start_using_mode() properly check for support
2020-04-07 17:58:39 +00:00
blk-crypto.c
ANDROID: block: backport the ability to specify max_dun_bytes
2020-05-15 22:01:33 +00:00
blk-exec.c
blk-flush.c
blk-mq: insert passthrough request into hctx->dispatch directly
2020-03-21 08:11:52 +01:00
blk-integrity.c
block: centralize PI remapping logic to the block layer
2019-09-17 20:03:49 -06:00
blk-ioc.c
block: Fix use-after-free issue accessing struct io_cq
2020-04-17 10:50:04 +02:00
blk-iocost.c
iocost: don't let vrate run wild while there's no saturation signal
2020-06-22 09:31:06 +02:00
blk-iolatency.c
blk-lib.c
blk-map.c
block: fix memleak when __blk_rq_map_user_iov() is failed
2020-01-12 12:21:43 +01:00
blk-merge.c
This is the 5.4.53 stable release
2020-07-23 12:36:54 +02:00
blk-mq-cpumap.c
blk-mq-debugfs-zoned.c
blk-mq-debugfs.c
blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
2020-07-22 09:32:52 +02:00
blk-mq-debugfs.h
blk-mq-pci.c
blk-mq-rdma.c
blk-mq-sched.c
blk-mq: insert flush request to the front of dispatch queue
2020-03-21 08:11:57 +01:00
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq: make sure that line break can be printed
2019-12-17 19:56:53 +01:00
blk-mq-tag.c
blk-mq-tag.h
blk-mq-virtio.c
ANDROID: modularize BLK_MQ_VIRTIO
2020-01-31 16:27:30 -08:00
blk-mq.c
blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight()
2020-07-16 08:16:47 +02:00
blk-mq.h
blk-mq: insert passthrough request into hctx->dispatch directly
2020-03-21 08:11:52 +01:00
blk-pm.c
block: Fix a race in the runtime power management code
2020-08-20 12:17:49 +08:00
blk-pm.h
blk-rq-qos.c
blk-wbt: fix performance regression in wbt scale_up/scale_down
2019-10-06 09:26:41 -06:00
blk-rq-qos.h
blk-rq-qos: fix first node deletion of rq_qos_del()
2019-10-15 10:13:13 -06:00
blk-settings.c
block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
2020-04-17 10:50:01 +02:00
blk-softirq.c
blk-stat.c
blk-stat.h
blk-sysfs.c
rq-qos: get rid of redundant wbt_update_limits()
2019-09-27 01:13:10 -06:00
blk-throttle.c
block: make rq sector size accessible for block stats
2019-09-15 16:02:08 -06:00
blk-timeout.c
blk-wbt.c
blk-wbt: fix performance regression in wbt scale_up/scale_down
2019-10-06 09:26:41 -06:00
blk-wbt.h
blk-zoned.c
block: set the zone size in blk_revalidate_disk_zones atomically
2020-01-07 16:02:50 -08:00
blk.h
block: fix memleak of bio integrity data
2020-01-26 10:01:09 +01:00
bounce.c
BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series
2020-01-13 18:46:44 +00:00
bsg-lib.c
block: Fix the type of 'sts' in bsg_queue_rq()
2020-01-23 08:22:44 +01:00
bsg.c
cmdline-parser.c
compat_ioctl.c
compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES
2020-01-09 10:19:58 +01:00
elevator.c
block: Fix elv_support_iosched()
2019-10-14 13:54:09 -06:00
genhd.c
block: Delay default elevator initialization
2019-09-05 19:52:34 -06:00
ioctl.c
block: simplify blkdev_nr_zones
2020-01-07 16:02:49 -08:00
ioprio.c
Kconfig
ANDROID: modularize BLK_MQ_VIRTIO
2020-01-31 16:27:30 -08:00
Kconfig.iosched
keyslot-manager.c
ANDROID: block: backport the ability to specify max_dun_bytes
2020-05-15 22:01:33 +00:00
kyber-iosched.c
Makefile
BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series
2020-01-13 18:46:44 +00:00
mq-deadline.c
opal_proto.h
partition-generic.c
block: Remove partition support for zoned block devices
2020-01-07 16:02:46 -08:00
scsi_ioctl.c
sed-opal.c
block: sed-opal: fix sparse warning: convert __be64 data
2019-10-03 14:21:32 -06:00
t10-pi.c
block: t10-pi: fix -Wswitch warning
2019-09-23 08:05:19 -06:00