aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/ohci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire/ohci.c')
-rw-r--r--drivers/firewire/ohci.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 9e1db6490b9a..afb701ec90ca 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -2749,8 +2749,11 @@ static void copy_iso_headers(struct iso_context *ctx, const u32 *dma_hdr)
2749{ 2749{
2750 u32 *ctx_hdr; 2750 u32 *ctx_hdr;
2751 2751
2752 if (ctx->header_length + ctx->base.header_size > PAGE_SIZE) 2752 if (ctx->header_length + ctx->base.header_size > PAGE_SIZE) {
2753 if (ctx->base.drop_overflow_headers)
2754 return;
2753 flush_iso_completions(ctx); 2755 flush_iso_completions(ctx);
2756 }
2754 2757
2755 ctx_hdr = ctx->header + ctx->header_length; 2758 ctx_hdr = ctx->header + ctx->header_length;
2756 ctx->last_timestamp = (u16)le32_to_cpu((__force __le32)dma_hdr[0]); 2759 ctx->last_timestamp = (u16)le32_to_cpu((__force __le32)dma_hdr[0]);
@@ -2910,8 +2913,11 @@ static int handle_it_packet(struct context *context,
2910 2913
2911 sync_it_packet_for_cpu(context, d); 2914 sync_it_packet_for_cpu(context, d);
2912 2915
2913 if (ctx->header_length + 4 > PAGE_SIZE) 2916 if (ctx->header_length + 4 > PAGE_SIZE) {
2917 if (ctx->base.drop_overflow_headers)
2918 return 1;
2914 flush_iso_completions(ctx); 2919 flush_iso_completions(ctx);
2920 }
2915 2921
2916 ctx_hdr = ctx->header + ctx->header_length; 2922 ctx_hdr = ctx->header + ctx->header_length;
2917 ctx->last_timestamp = le16_to_cpu(last->res_count); 2923 ctx->last_timestamp = le16_to_cpu(last->res_count);