summaryrefslogtreecommitdiffstats
path: root/include/linux/firewire.h
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2014-04-25 22:45:30 +0900
committerTakashi Iwai <tiwai@suse.de>2014-05-26 14:33:10 +0200
commit9b1ee0b2cb8bffdbb3003b1d5205f3ae0592c15a (patch)
tree31124c27fddbaca390e63ebb47174ade02952a89 /include/linux/firewire.h
parenta2b2a7798fb6a5c639189e5c8f608a56fdc7a222 (diff)
downloadblackbird-op-linux-9b1ee0b2cb8bffdbb3003b1d5205f3ae0592c15a.tar.gz
blackbird-op-linux-9b1ee0b2cb8bffdbb3003b1d5205f3ae0592c15a.zip
ALSA: firewire/bebob: Add a workaround for M-Audio special Firewire series
In post commit, a quirk of this firmware about transactions is reported. This commit apply a workaround for this quirk. They often fail transactions due to gap_count mismatch. This state is changed by generating bus reset. The fw_schedule_bus_reset() is an exported symbol in firewire-core. But there are no header for public. This commit moves its prototype from drivers/firewire/core.h to include/linux/firewire.h. This mismatch still affects bus management before generating this bus reset. It still takes a time to call driver's probe() because transactions are still often failed. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/linux/firewire.h')
-rw-r--r--include/linux/firewire.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index c3683bdf28fe..d4b7683c722d 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -367,6 +367,9 @@ static inline int fw_stream_packet_destination_id(int tag, int channel, int sy)
return tag << 14 | channel << 8 | sy;
}
+void fw_schedule_bus_reset(struct fw_card *card, bool delayed,
+ bool short_reset);
+
struct fw_descriptor {
struct list_head link;
size_t length;
OpenPOWER on IntegriCloud