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