git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
firewire: ohci: fix too-early completion of IR multichannel buffers
[pandora-kernel.git]
/
drivers
/
firewire
/
ohci.c
diff --git
a/drivers/firewire/ohci.c
b/drivers/firewire/ohci.c
index
7f5f0da
..
0a0225a
100644
(file)
--- a/
drivers/firewire/ohci.c
+++ b/
drivers/firewire/ohci.c
@@
-2748,7
+2748,7
@@
static int handle_ir_buffer_fill(struct context *context,
container_of(context, struct iso_context, context);
u32 buffer_dma;
container_of(context, struct iso_context, context);
u32 buffer_dma;
- if (
!last->transfer_status
)
+ if (
last->res_count != 0
)
/* Descriptor(s) not done yet, stop iteration */
return 0;
/* Descriptor(s) not done yet, stop iteration */
return 0;
@@
-2762,8
+2762,7
@@
static int handle_ir_buffer_fill(struct context *context,
if (le16_to_cpu(last->control) & DESCRIPTOR_IRQ_ALWAYS)
ctx->base.callback.mc(&ctx->base,
le32_to_cpu(last->data_address) +
if (le16_to_cpu(last->control) & DESCRIPTOR_IRQ_ALWAYS)
ctx->base.callback.mc(&ctx->base,
le32_to_cpu(last->data_address) +
- le16_to_cpu(last->req_count) -
- le16_to_cpu(last->res_count),
+ le16_to_cpu(last->req_count),
ctx->base.callback_data);
return 1;
ctx->base.callback_data);
return 1;