Skip to content

Commit

Permalink
Staging: poch: Fix user space protocol syncing
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Vijay Kumar authored and Greg Kroah-Hartman committed Jan 6, 2009
1 parent ca21999 commit bf43701
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/staging/poch/poch.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit bf43701

Please sign in to comment.