From vijaykumar@bravegnu.org Wed Oct 29 11:04:08 2008 From: Vijay Kumar Date: Wed, 29 Oct 2008 08:58:39 +0530 Subject: Staging: poch: Fix user space protocol syncing To: greg@kroah.com Cc: jayakumar.lkml@gmail.com, alexey.zaytsev@gmail.com, robfitz@273k.net, bdonnette@linagora.com, htejun@gmail.com, abixby@redrapids.com Message-ID: <20081029033333.110698816@bravegnu.org> Always set the user space offset from kernel space, to indicate group transmitted/received. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman --- drivers/staging/poch/poch.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) --- a/drivers/staging/poch/poch.c +++ b/drivers/staging/poch/poch.c @@ -948,14 +948,7 @@ static int poch_channel_available(struct spin_lock_irq(&channel->group_offsets_lock); for (i = 0; i < channel->group_count; i++) { - if (channel->dir == CHANNEL_DIR_RX - && channel->header->group_offsets[i] == -1) { - spin_unlock_irq(&channel->group_offsets_lock); - return 1; - } - - if (channel->dir == CHANNEL_DIR_TX - && channel->header->group_offsets[i] != -1) { + if (channel->header->group_offsets[i] != -1) { spin_unlock_irq(&channel->group_offsets_lock); return 1; } @@ -1103,10 +1096,7 @@ static void poch_irq_dma(struct channel_ for (i = 0; i < groups_done; i++) { j = (prev_transfer + i) % channel->group_count; - if (channel->dir == CHANNEL_DIR_RX) - group_offsets[j] = -1; - else - group_offsets[j] = groups[j].user_offset; + group_offsets[j] = groups[j].user_offset; } spin_unlock(&channel->group_offsets_lock);