linux/drivers/staging/greybus
Johan Hovold 33b8807a6f staging: greybus: loopback: fix broken udelay
The loopback driver allows the user to set a minimum delay of up to one
second to be inserted between test iterations (i.e. request
submissions). The delay is currently specified in microseconds and is
implemented using udelay.

Busy looping for long periods is not just anti-social; udelay must not
be used for delays longer than a few milliseconds due to the risk of
integer overflow.

Replace the broken udelay with a usleep_range with a 100 us range for
short delays (< 20 ms) and otherwise revert to using msleep.

Fixes: b36f04fa94 ("greybus: loopback: Convert thread delay to microseconds")
Signed-off-by: Johan Hovold <johan@kernel.org>
Cc: stable <stable@vger.kernel.org> # 4.9+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-27 09:29:23 +01:00
..
Documentation staging: greybus: remove old es1 endpoint description 2016-09-19 12:40:33 +02:00
tools staging: greybus: loopback_test: use octal permissions instead of symbolic 2017-01-19 11:08:00 +01:00
arche_platform.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
arche-apb-ctrl.c staging: greybus: arche-apb-ctrl: fix unused warnings on resume/suspend 2017-01-03 16:47:52 +01:00
arche-platform.c Merge 4.9-rc5 into staging-next 2016-11-14 08:53:56 +01:00
arpc.h greybus: es2: remove obsolete cport-reset ARPC 2016-08-26 13:21:13 +02:00
audio_apbridgea.c greybus: audio: apbridgea: Remove GET_TX/RX_DELAY message types 2016-08-03 10:59:13 +02:00
audio_apbridgea.h greybus: audio: apbridgea: Remove GET_TX/RX_DELAY message types 2016-08-03 10:59:13 +02:00
audio_codec.c staging: greybus: audio: Cleanup junk codec registers 2017-01-19 11:08:00 +01:00
audio_codec.h staging: greybus: audio: Cleanup junk codec registers 2017-01-19 11:08:00 +01:00
audio_gb.c staging: greybus: audio_gb.c: Change uint32_t to u32 2017-01-23 09:56:29 +01:00
audio_manager_module.c staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_manager.c greybus: audio: gb_manager: Use valid argument while removing ida allocated id. 2016-05-18 16:33:31 -07:00
audio_manager.h staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_module.c staging: greybus: audio: Ensure proper byte order 2017-01-19 11:08:00 +01:00
audio_topology.c staging: greybus: audio: Ensure proper byte order 2017-01-19 11:08:00 +01:00
authentication.c greybus: firmware: Add runtime PM support 2016-07-26 15:29:00 -07:00
bootrom.c greybus: replace Ara references 2016-07-28 07:30:13 -07:00
bundle.c staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
bundle.h staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
camera.c Staging: greybus: style fix, permissions as octal 2017-01-16 18:08:56 +01:00
connection.c staging: greybus: add host device function pointer checks 2017-01-03 16:47:52 +01:00
connection.h greybus: connection: add support for high-priority connections 2016-06-24 16:22:30 -07:00
control.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
control.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
core.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
es2.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
firmware.h greybus: firmware: add comment to show size calculations 2016-08-12 17:38:19 +02:00
fw-core.c staging: greybus: spi: remove KERNEL_VERSION checks 2016-09-19 16:43:27 +02:00
fw-download.c greybus: firmware: s/should/must 2016-08-12 17:38:19 +02:00
fw-management.c greybus: firmware: s/_LEN/_SIZE 2016-08-12 17:38:19 +02:00
gb-camera.h greybus: camera: Update CSI config parameters 2016-07-17 10:31:21 +09:00
gbphy.c staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
gbphy.h staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
gpio.c staging: greybus: fix checkpatch unsigned warnings 2017-01-16 18:08:56 +01:00
greybus_authentication.h greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
greybus_firmware.h greybus: firmware: s/_LEN/_SIZE 2016-08-12 17:38:19 +02:00
greybus_id.h greybus: Use BIT(2) for GREYBUS_ID_MATCH_CLASS 2016-06-09 17:28:02 -07:00
greybus_manifest.h greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
greybus_protocols.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
greybus_trace.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
greybus.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
hd.c greybus: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
hd.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
hid.c staging: greybus: hid: remove KERNEL_VERSION checks 2016-09-19 16:30:41 +02:00
i2c.c greybus: i2c: add runtime pm support 2016-07-14 16:53:55 -05:00
interface.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
interface.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
Kconfig staging: greybus: fix up camera Kconfig dependancies 2016-09-21 12:35:13 +02:00
light.c staging: greybus: light: check the correct value of delay_on 2016-10-02 15:49:26 +02:00
log.c staging: greybus: log: Fix line over 80 characters. 2017-01-05 18:22:20 +01:00
loopback.c staging: greybus: loopback: fix broken udelay 2017-01-27 09:29:23 +01:00
Makefile staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
manifest.c greybus: manifest: style fix missing space before '(' 2016-09-27 12:59:51 +02:00
manifest.h greybus: manifest: Use interface descriptor instead of module descriptor to get information 2015-04-06 12:05:58 +02:00
module.c greybus: fix a leak on error in gb_module_create() 2016-10-24 15:51:00 +02:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: operation: clean up request handler 2016-07-26 14:53:19 -07:00
operation.h greybus: operation: add helper for creating core operations 2016-05-27 12:21:16 -07:00
power_supply.c staging: greybus: power_supply: remove KERNEL_VERSION checks 2016-09-19 16:48:44 +02:00
pwm.c greybus: pwm: Add runtime_pm support 2016-07-14 16:53:55 -05:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
sdio.c staging: greybus: sdio: Prefer u32 over uint32_t 2017-01-27 09:29:23 +01:00
spi.c staging: greybus: spi: remove KERNEL_VERSION checks 2016-09-19 16:43:27 +02:00
spilib.c staging: greybus: spi: remove KERNEL_VERSION checks 2016-09-19 16:43:27 +02:00
spilib.h greybus: spilib: make spilib independent of gbphy 2016-07-21 19:03:05 -07:00
svc_watchdog.c staging: greybus: svc_watchdog: replace printk() with pr_err() 2017-01-03 16:47:52 +01:00
svc.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
svc.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
uart.c staging: greybus: uart: fix TIOCGSERIAL flags 2017-01-27 09:29:23 +01:00
usb.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
vibrator.c staging: greybus: vibrator: remove KERNEL_VERSION checks 2016-09-19 16:30:41 +02:00