]> git.baikalelectronics.ru Git - kernel.git/commit
firewire: core: fix unstable I/O with Canon camcorder
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sat, 15 Jan 2011 17:19:48 +0000 (18:19 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 20 Jan 2011 23:27:46 +0000 (00:27 +0100)
commit4b2fcbd977e0e13e1845997b263665af27280809
tree874808ca8f1d8f5413c8e9302e5f52d9c4cfb4f1
parentd28e0244e983a5520c593f93dad04893aa84f57d
firewire: core: fix unstable I/O with Canon camcorder

Regression since commit 39416aa6a9c9, "firewire: core: check for 1394a
compliant IRM, fix inaccessibility of Sony camcorder":

The camcorder Canon MV5i generates lots of bus resets when asynchronous
requests are sent to it (e.g. Config ROM read requests or FCP Command
write requests) if the camcorder is not root node.  This causes drop-
outs in videos or makes the camcorder entirely inaccessible.
https://bugzilla.redhat.com/show_bug.cgi?id=633260

Fix this by allowing any Canon device, even if it is a pre-1394a IRM
like MV5i are, to remain root node (if it is at least Cycle Master
capable).  With the FireWire controller cards that I tested, MV5i always
becomes root node when plugged in and left to its own devices.

Reported-by: Ralf Lange
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: <stable@kernel.org> # 2.6.32.y and newer
drivers/firewire/core-card.c