greybus: Notify user space only when the test finished.

Currently, user space is notified for every message sent,
but this is not really needed and does not work in the async case
where all messages are sent from the start.

Instead, notify userspace only when all the transfers are complete.
This allows userspace to wait in a poll loop and wakeup only when
the test is finished.

Also, don't use the bundle kobj to send the notification it is
the loopback device that contains the loopback attributes.

Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Axel Haslam 2016-02-26 11:39:48 +01:00 committed by Greg Kroah-Hartman
parent 9b22f155be
commit 39c2787b12

View File

@ -986,14 +986,14 @@ static int gb_loopback_fn(void *data)
break;
mutex_lock(&gb->mutex);
sysfs_notify(&gb->connection->bundle->dev.kobj,
NULL, "iteration_count");
/* Optionally terminate */
if (send_count == gb->iteration_max) {
if (gb->iteration_count == gb->iteration_max) {
gb->type = 0;
send_count = 0;
sysfs_notify(&gb->dev->kobj, NULL,
"iteration_count");
}
mutex_unlock(&gb->mutex);
continue;