linux/drivers/staging/greybus
Johan Hovold 2893a55e39 staging: greybus: loopback: fix broken udelay
commit 33b8807a6f upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-03-12 06:41:42 +01:00
..
Documentation staging: greybus: remove old es1 endpoint description 2016-09-19 12:40:33 +02:00
tools staging: greybus: remove .gitignore file 2016-09-19 12:37:09 +02:00
arche-apb-ctrl.c staging: greybus: arche-apb-ctrl: declare struct of_device_id as const 2016-09-23 14:11:46 +02:00
arche-platform.c staging: greybus: arche-platform: fix device reference leak 2016-11-07 11:45:42 +01:00
arche_platform.h greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07: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_codec.c: code indent should use tabs where possible 2016-09-22 11:54:47 +02:00
audio_codec.h staging: greybus: use preferred kernel type u16 2016-09-20 13:24:46 +02:00
audio_gb.c staging: greybus: use preferred kernel type u16 2016-09-20 13:24:46 +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 greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_module.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_module.c staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
audio_topology.c greybus: audio: fix uninitialized variable errors found by cppcheck 2016-09-27 12:59:51 +02: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: camera: simplify NULL test 2016-09-22 11:54:47 +02:00
connection.c greybus: connection: implement new connection handling 2016-08-26 13:21:13 +02:00
connection.h greybus: connection: add support for high-priority connections 2016-06-24 16:22:30 -07:00
control.c greybus: control: make disconnecting a core operation 2016-08-11 14:13:07 +02:00
control.h greybus: control: suppress bundle_activate() for bootrom 2016-07-21 16:36:48 -07:00
core.c greybus: pm: add error handling to bundle activation 2016-07-21 18:54:11 -07:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
es2.c greybus: es2: fix error return code in ap_probe() 2016-10-24 15:51:00 +02: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: gpio: Use gbphy_dev->dev instead of bundle->dev 2016-10-17 09:14:55 +02:00
greybus.h staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02: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 greybus: greybus_protocols: remove svc key-event type 2016-09-02 14:13:39 +02:00
greybus_trace.h greybus: tracing: drop "greybus" prefix 2016-06-09 12:12:43 -07:00
hd.c greybus: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
hd.h greybus: hd/es2: remove obsolete callbacks 2016-08-26 13:21:13 +02: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 CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
interface.h greybus: replace Ara references 2016-07-28 07:30:13 -07: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 greybus: add support for the log protocol 2016-06-24 15:46:52 -07:00
loopback.c staging: greybus: loopback: fix broken udelay 2017-03-12 06:41:42 +01:00
Makefile staging: greybus: makefile: fix dependency of spi to spilib 2016-09-19 16:49:53 +02: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: fix cmd_flags check for none response 2016-10-02 15:49:25 +02: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.c greybus: svc: fix timeout indentation 2016-08-26 13:21:13 +02:00
svc.h greybus: svc_watchdog: Add sysfs file to change the behavior of bite 2016-07-26 20:58:37 -07:00
svc_watchdog.c greybus: svc_watchdog: use schedule_delayed_work helper 2016-08-03 10:59:13 +02:00
timesync.c greybus: timesync: Printout strobe count on sync failure 2016-08-03 10:59:13 +02:00
timesync.h greybus: timesync: Add gb_timesync_frame_time_to_timespec() 2016-06-06 20:50:08 -07:00
timesync_platform.c staging: greybus: timesync: validate platform state callback 2017-02-09 08:08:30 +01:00
uart.c Staging: greybus: uart: Use gbphy_dev->dev instead of bundle->dev 2016-10-17 09:14:55 +02: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