1 From stefanr@s5r6.in-berlin.de Sun Feb 8 11:54:08 2009
2 From: Stefan Richter <stefanr@s5r6.in-berlin.de>
3 Date: Sat, 7 Feb 2009 13:03:22 +0100 (CET)
4 Subject: ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others
6 Message-ID: <tkrat.6d48e1780cdff8b4@s5r6.in-berlin.de>
7 Content-Disposition: INLINE
10 From: Stefan Richter <stefanr@s5r6.in-berlin.de>
12 Commit 64c634ef83991b390ec0503e61f16efb0ba3c60b upstream.
14 Camcorders have a tendency to fail read requests to their config ROM and
15 write request to their FCP command register with ack_busy_X. This has
16 become a problem with newer kernels and especially Panasonic camcorders,
17 causing AV/C in dvgrab and kino to fail. Dvgrab for example frequently
18 logs "send oops"; kino reports loss of AV/C control. I suspect that
19 lower CPU scheduling latencies in newer kernels made this issue more
23 https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103
24 this can be fixed by configuring the FireWire controller for more
25 hardware retries for request transmission; these retries are evidently
26 more successful than libavc1394's own retry loop (typically 3 tries on
27 top of hardware retries).
29 Presumably the same issue has been reported at
30 https://bugzilla.redhat.com/show_bug.cgi?id=449252 and
31 https://bugzilla.redhat.com/show_bug.cgi?id=477279 .
33 Tested-by: Mathias Beilstein
34 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
35 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
38 drivers/ieee1394/ohci1394.h | 2 +-
39 1 file changed, 1 insertion(+), 1 deletion(-)
41 --- a/drivers/ieee1394/ohci1394.h
42 +++ b/drivers/ieee1394/ohci1394.h
45 #define OHCI1394_DRIVER_NAME "ohci1394"
47 -#define OHCI1394_MAX_AT_REQ_RETRIES 0x2
48 +#define OHCI1394_MAX_AT_REQ_RETRIES 0xf
49 #define OHCI1394_MAX_AT_RESP_RETRIES 0x2
50 #define OHCI1394_MAX_PHYS_RESP_RETRIES 0x8
51 #define OHCI1394_MAX_SELF_ID_ERRORS 16