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: Relax locking during loopback operations
Currently a per-connection mutex is held during calls to gb_operation_send_sync. It is not necessary to hold this lock and later patches supporting multiple-outstanding bi-directional operations need to take the per-connection lock and the gb_dev level lock. Since gb_dev must always be taken before per-connection locks, it is both desirable and safe to drop the lock now. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
1700507d8c
commit
d9fb3754ec
1 changed files with 2 additions and 1 deletions
|
@ -774,6 +774,8 @@ static int gb_loopback_fn(void *data)
|
|||
mutex_unlock(&gb->mutex);
|
||||
goto sleep;
|
||||
}
|
||||
mutex_unlock(&gb->mutex);
|
||||
|
||||
/* Else operations to perform */
|
||||
gb->apbridge_latency_ts = 0;
|
||||
gb->gpbridge_latency_ts = 0;
|
||||
|
@ -783,7 +785,6 @@ static int gb_loopback_fn(void *data)
|
|||
error = gb_loopback_transfer(gb, size);
|
||||
else if (type == GB_LOOPBACK_TYPE_SINK)
|
||||
error = gb_loopback_sink(gb, size);
|
||||
mutex_unlock(&gb->mutex);
|
||||
|
||||
mutex_lock(&gb_dev.mutex);
|
||||
mutex_lock(&gb->mutex);
|
||||
|
|
Loading…
Reference in a new issue