Staging: poch: Fix user space protocol syncing

Always set the user space offset from kernel space, to indicate group
transmitted/received.

Signed-off-by: Vijay Kumar <vijaykumar@bravegnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Vijay Kumar 2008-10-29 08:58:39 +05:30 committed by Greg Kroah-Hartman
parent ca219995b2
commit bf43701250

View File

@ -948,14 +948,7 @@ static int poch_channel_available(struct channel_info *channel)
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_info *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);