diff options
| author | David S. Miller <davem@davemloft.net> | 2010-02-20 13:53:16 -0800 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-02-20 13:53:16 -0800 |
| commit | 198d2f63a6096fe575b696b13ba61b62c620266f (patch) | |
| tree | d0c2b0697370cc670029cd1eb2a80c35c71eac60 /drivers/firewire/ohci.c | |
| parent | 0da2b300b91ddeb9944c3fb4faaf78c1c482c0af (diff) | |
| parent | 1f474646fdc36b457606bbcd6a3592e6cbd31ac4 (diff) | |
| download | linux-198d2f63a6096fe575b696b13ba61b62c620266f.tar.gz linux-198d2f63a6096fe575b696b13ba61b62c620266f.tar.bz2 linux-198d2f63a6096fe575b696b13ba61b62c620266f.zip | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Diffstat (limited to 'drivers/firewire/ohci.c')
| -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, u32 payload_index, payload_end_index, next_page_index; int page, end_page, i, length, offset; - /* - * FIXME: Cycle lost behavior should be configurable: lose - * packet, retransmit or terminate.. - */ - p = packet; payload_index = payload; @@ -2135,6 +2130,14 @@ static int ohci_queue_iso_transmit(struct fw_iso_context *base, if (!p->skip) { d[0].control = cpu_to_le16(DESCRIPTOR_KEY_IMMEDIATE); d[0].req_count = cpu_to_le16(8); + /* + * Link the skip address to this descriptor itself. This causes + * a context to skip a cycle whenever lost cycles or FIFO + * overruns occur, without dropping the data. The application + * should then decide whether this is an error condition or not. + * FIXME: Make the context's cycle-lost behaviour configurable? + */ + d[0].branch_address = cpu_to_le32(d_bus | z); header = (__le32 *) &d[1]; header[0] = cpu_to_le32(IT_HEADER_SY(p->sy) | |
