X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsound%2Ffirewire%2Ffireworks%2Ffireworks_transaction.c;fp=kernel%2Fsound%2Ffirewire%2Ffireworks%2Ffireworks_transaction.c;h=36a08ba51ec793ddd520ef5be9259b8fffaa0ed2;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=f550808d178416cfd8c67cb9b78722687b2001e5;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/sound/firewire/fireworks/fireworks_transaction.c b/kernel/sound/firewire/fireworks/fireworks_transaction.c index f550808d1..36a08ba51 100644 --- a/kernel/sound/firewire/fireworks/fireworks_transaction.c +++ b/kernel/sound/firewire/fireworks/fireworks_transaction.c @@ -121,11 +121,11 @@ copy_resp_to_buf(struct snd_efw *efw, void *data, size_t length, int *rcode) size_t capacity, till_end; struct snd_efw_transaction *t; - spin_lock_irq(&efw->lock); - t = (struct snd_efw_transaction *)data; length = min_t(size_t, be32_to_cpu(t->length) * sizeof(u32), length); + spin_lock_irq(&efw->lock); + if (efw->push_ptr < efw->pull_ptr) capacity = (unsigned int)(efw->pull_ptr - efw->push_ptr); else @@ -155,7 +155,6 @@ copy_resp_to_buf(struct snd_efw *efw, void *data, size_t length, int *rcode) } /* for hwdep */ - efw->resp_queues++; wake_up(&efw->hwdep_wait); *rcode = RCODE_COMPLETE;