mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
greybus: loopback: Fix broken synchonous test
loopback driver use the send_count variable to know the test progress. The test may be stopped or change but this variable is never cleaned. Such situation may break the next run. Signed-off-by: Alexandre Bailon <abailon@baylibre.com> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
58a527afff
commit
01480ba336
1 changed files with 7 additions and 4 deletions
|
@ -107,6 +107,8 @@ struct gb_loopback {
|
|||
u64 elapsed_nsecs;
|
||||
u32 apbridge_latency_ts;
|
||||
u32 gpbridge_latency_ts;
|
||||
|
||||
u32 send_count;
|
||||
};
|
||||
|
||||
static struct class loopback_class = {
|
||||
|
@ -247,6 +249,7 @@ static void gb_loopback_check_attr(struct gb_loopback *gb)
|
|||
gb->requests_timedout = 0;
|
||||
gb->requests_completed = 0;
|
||||
gb->iteration_count = 0;
|
||||
gb->send_count = 0;
|
||||
gb->error = 0;
|
||||
|
||||
if (kfifo_depth < gb->iteration_max) {
|
||||
|
@ -971,7 +974,7 @@ static int gb_loopback_fn(void *data)
|
|||
int us_wait = 0;
|
||||
int type;
|
||||
u32 size;
|
||||
u32 send_count = 0;
|
||||
|
||||
struct gb_loopback *gb = data;
|
||||
|
||||
while (1) {
|
||||
|
@ -989,10 +992,10 @@ static int gb_loopback_fn(void *data)
|
|||
mutex_lock(&gb->mutex);
|
||||
|
||||
/* Optionally terminate */
|
||||
if (send_count == gb->iteration_max) {
|
||||
if (gb->send_count == gb->iteration_max) {
|
||||
if (gb->iteration_count == gb->iteration_max) {
|
||||
gb->type = 0;
|
||||
send_count = 0;
|
||||
gb->send_count = 0;
|
||||
sysfs_notify(&gb->dev->kobj, NULL,
|
||||
"iteration_count");
|
||||
}
|
||||
|
@ -1032,7 +1035,7 @@ static int gb_loopback_fn(void *data)
|
|||
gb->iteration_count++;
|
||||
gb_loopback_calculate_stats(gb, !!error);
|
||||
}
|
||||
send_count++;
|
||||
gb->send_count++;
|
||||
if (us_wait)
|
||||
udelay(us_wait);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue