Andy Shevchenko
73162ca815
dmaengine: dmatest: Fix process hang when reading 'wait' parameter
...
commit aa72f1d20ee973d68f26d46fce5e1cf6f9b7e1ca upstream.
If we do
% echo 1 > /sys/module/dmatest/parameters/run
[ 115.851124] dmatest: Could not start test, no channels configured
% echo dma8chan7 > /sys/module/dmatest/parameters/channel
[ 127.563872] dmatest: Added 1 threads using dma8chan7
% cat /sys/module/dmatest/parameters/wait
... !!! HANG !!! ...
The culprit is the commit 6138f967bc
("dmaengine: dmatest: Use fixed point div to calculate iops")
which makes threads not to run, but pending and being kicked off by writing
to the 'run' node. However, it forgot to consider 'wait' routine to avoid
above mentioned case.
In order to fix this, check for really running threads, i.e. with pending
and done flags unset.
It's pity the culprit commit hadn't updated documentation and tested all
possible scenarios.
Fixes: 6138f967bc ("dmaengine: dmatest: Use fixed point div to calculate iops")
Cc: Seraj Alijan <seraj.alijan@sondrel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200428113518.70620-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-06 08:15:16 +02:00
..
accessibility
acpi
PM: ACPI: Output correct message on target power state
2020-05-06 08:15:09 +02:00
amba
android
binderfs: use refcount for binder control devices too
2020-03-25 08:25:50 +01:00
ata
libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
2020-04-17 10:50:22 +02:00
atm
auxdisplay
base
PM: sleep: core: Switch back to async_schedule_dev()
2020-05-02 08:48:53 +02:00
bcma
block
virtio-blk: improve virtqueue error to BLK_STS
2020-04-29 16:33:05 +02:00
bluetooth
bus
bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads
2020-04-17 10:49:56 +02:00
cdrom
char
tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
2020-04-29 16:33:16 +02:00
clk
clk: tegra: Fix Tegra PMC clock out parents
2020-04-23 10:36:29 +02:00
clocksource
clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources
2020-04-01 11:02:12 +02:00
connector
counter
counter: 104-quad-8: Add lock guards - generic interface
2020-05-02 08:48:44 +02:00
cpufreq
cpufreq: powernv: Fix use-after-free
2020-04-17 10:50:22 +02:00
cpuidle
crypto
crypto: caam - fix the address of the last entry of S/G
2020-05-06 08:15:07 +02:00
dax
dca
devfreq
Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs"
2020-03-05 16:43:43 +01:00
dio
dma
dmaengine: dmatest: Fix process hang when reading 'wait' parameter
2020-05-06 08:15:16 +02:00
dma-buf
dma-buf: Fix SET_NAME ioctl uapi
2020-05-06 08:15:01 +02:00
edac
EDAC/synopsys: Do not print an error with back-to-back snprintf() calls
2020-03-12 13:00:31 +01:00
eisa
extcon
extcon: axp288: Add wakeup support
2020-04-08 09:08:43 +02:00
firewire
firmware
efi/x86: Ignore the memory attributes table on i386
2020-04-17 10:50:03 +02:00
fpga
fpga: dfl: pci: fix return value of cci_pci_sriov_configure
2020-04-29 16:33:22 +02:00
fsi
gnss
gpio
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
2020-04-02 15:11:01 +02:00
gpu
drm/qxl: qxl_release use after free
2020-05-06 08:15:05 +02:00
greybus
hid
HID: add ALWAYS_POLL quirk to lenovo pixart mouse
2020-03-21 08:11:59 +01:00
hsi
hv
Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM
2020-05-06 08:15:09 +02:00
hwmon
hwmon: (jc42) Fix name to have no illegal characters
2020-05-02 08:48:59 +02:00
hwspinlock
hwtracing
stm class: sys-t: Fix the use of time_after()
2020-03-25 08:25:56 +01:00
i2c
i2c: aspeed: Avoid i2c interrupt status clear race condition.
2020-05-06 08:15:15 +02:00
i3c
ide
idle
iio
iio:ad7797: Use correct attribute_group
2020-05-02 08:48:44 +02:00
infiniband
RDMA/cm: Fix an error check in cm_alloc_id_priv()
2020-05-06 08:15:13 +02:00
input
Input: i8042 - add Acer Aspire 5738z to nomux list
2020-04-17 10:50:21 +02:00
interconnect
iommu
iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system
2020-05-06 08:15:15 +02:00
ipack
irqchip
irqchip/mbigen: Free msi_desc on device teardown
2020-04-23 10:36:20 +02:00
isdn
leds
leds: core: Fix warning message when init_data
2020-04-23 10:36:37 +02:00
lightnvm
macintosh
macintosh: windfarm: fix MODINFO regression
2020-03-18 07:17:53 +01:00
mailbox
mcb
md
dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath
2020-05-06 08:15:10 +02:00
media
media: ti-vpe: cal: fix a kernel oops when unloading module
2020-04-17 10:50:08 +02:00
memory
memstick
message
mfd
mfd: dln2: Fix sanity checking for endpoints
2020-04-17 10:50:25 +02:00
misc
mei: me: add cedar fork device ids
2020-04-08 09:08:42 +02:00
mmc
mmc: meson-mx-sdio: remove the broken ->card_busy() op
2020-05-06 08:15:07 +02:00
mtd
mtd: phram: fix a double free issue in error path
2020-04-23 10:36:45 +02:00
mux
net
qed: Fix use after free in qed_chain_free
2020-05-02 08:49:01 +02:00
nfc
NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()
2020-04-01 11:01:38 +02:00
ntb
nubus
nvdimm
libnvdimm: Out of bounds read in __nd_ioctl()
2020-04-23 10:36:42 +02:00
nvme
nvme: prevent double free in nvme_alloc_ns() error handling
2020-05-06 08:15:16 +02:00
nvmem
nvmem: check for NULL reg_read and reg_write before dereferencing
2020-04-08 09:08:42 +02:00
of
of: overlay: kmemleak in dup_and_fixup_symbol_prop()
2020-04-23 10:36:23 +02:00
opp
oprofile
parisc
parport
pci
PCI: Move Apex Edge TPU class quirk to fix BAR assignment
2020-05-02 08:48:50 +02:00
pcmcia
perf
drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
2020-03-25 08:25:47 +01:00
phy
phy: uniphier-usb3ss: Add Pro5 support
2020-04-23 10:36:33 +02:00
pinctrl
pinctrl: core: Remove extra kref_get which blocks hogs being freed
2020-03-18 07:17:55 +01:00
platform
platform/chrome: cros_ec_rpmsg: Fix race with host event
2020-04-21 09:04:51 +02:00
pnp
power
power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks.
2020-04-23 10:36:41 +02:00
powercap
pps
ps3
ptp
pwm
pwm: bcm2835: Dynamically allocate base
2020-04-29 16:33:02 +02:00
rapidio
ras
regulator
regulator: stm32-vrefbuf: fix a possible overshoot when re-enabling
2020-03-12 13:00:29 +01:00
remoteproc
remoteproc: Fix wrong rvring index computation
2020-05-02 08:48:41 +02:00
reset
rpmsg
rtc
rtc: 88pm860x: fix possible race condition
2020-04-23 10:36:31 +02:00
s390
s390/cio: avoid duplicated 'ADD' uevents
2020-04-29 16:33:01 +02:00
sbus
scsi
scsi: qla2xxx: check UNLOADING before posting async work
2020-05-06 08:15:11 +02:00
sfi
sh
siox
slimbus
soc
drivers: soc: xilinx: fix firmware driver Kconfig dependency
2020-05-02 08:48:46 +02:00
soundwire
spi
spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion
2020-04-17 10:50:05 +02:00
spmi
ssb
staging
PCI: Move Apex Edge TPU class quirk to fix BAR assignment
2020-05-02 08:48:50 +02:00
target
scsi: target/iblock: fix WRITE SAME zeroing
2020-05-06 08:15:14 +02:00
tc
tee
thermal
thermal: brcmstb_thermal: Do not use DT coefficients
2020-03-05 16:43:50 +01:00
thunderbolt
thunderbolt: Prevent crash if non-active NVMem file is read
2020-02-28 17:22:13 +01:00
tty
Revert "serial: uartps: Register own uart console and driver structures"
2020-04-29 16:33:24 +02:00
uio
usb
usb: gadget: udc: atmel: Fix vbus disconnect handling
2020-05-02 08:48:43 +02:00
vfio
vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
2020-05-06 08:15:14 +02:00
vhost
vhost: Check docket sk_family instead of call getname
2020-03-05 16:43:44 +01:00
video
fbmem: Adjust indentation in fb_prepare_logo and fb_blank
2020-04-23 10:36:43 +02:00
virt
virtio
virtio_ring: Fix mem leak with vring_new_virtqueue()
2020-03-18 07:17:55 +01:00
visorbus
vlynq
vme
w1
watchdog
watchdog: reset last_hw_keepalive time at start
2020-04-29 16:32:57 +02:00
xen
xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
2020-05-02 08:48:57 +02:00
zorro
Kconfig
Makefile