diff options
| -rw-r--r-- | drivers/firewire/ohci.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index 2345d4103fe6..43ebf337b131 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
| @@ -2101,11 +2101,6 @@ static int ohci_queue_iso_transmit(struct fw_iso_context *base, | |||
| 2101 | u32 payload_index, payload_end_index, next_page_index; | 2101 | u32 payload_index, payload_end_index, next_page_index; |
| 2102 | int page, end_page, i, length, offset; | 2102 | int page, end_page, i, length, offset; |
| 2103 | 2103 | ||
| 2104 | /* | ||
| 2105 | * FIXME: Cycle lost behavior should be configurable: lose | ||
| 2106 | * packet, retransmit or terminate.. | ||
| 2107 | */ | ||
| 2108 | |||
| 2109 | p = packet; | 2104 | p = packet; |
| 2110 | payload_index = payload; | 2105 | payload_index = payload; |
| 2111 | 2106 | ||
| @@ -2135,6 +2130,14 @@ static int ohci_queue_iso_transmit(struct fw_iso_context *base, | |||
| 2135 | if (!p->skip) { | 2130 | if (!p->skip) { |
| 2136 | d[0].control = cpu_to_le16(DESCRIPTOR_KEY_IMMEDIATE); | 2131 | d[0].control = cpu_to_le16(DESCRIPTOR_KEY_IMMEDIATE); |
| 2137 | d[0].req_count = cpu_to_le16(8); | 2132 | d[0].req_count = cpu_to_le16(8); |
| 2133 | /* | ||
| 2134 | * Link the skip address to this descriptor itself. This causes | ||
| 2135 | * a context to skip a cycle whenever lost cycles or FIFO | ||
| 2136 | * overruns occur, without dropping the data. The application | ||
| 2137 | * should then decide whether this is an error condition or not. | ||
| 2138 | * FIXME: Make the context's cycle-lost behaviour configurable? | ||
| 2139 | */ | ||
| 2140 | d[0].branch_address = cpu_to_le32(d_bus | z); | ||
| 2138 | 2141 | ||
| 2139 | header = (__le32 *) &d[1]; | 2142 | header = (__le32 *) &d[1]; |
| 2140 | header[0] = cpu_to_le32(IT_HEADER_SY(p->sy) | | 2143 | header[0] = cpu_to_le32(IT_HEADER_SY(p->sy) | |
