firewire: fix libdc1394/FlyCap2 iso event regression
authorClemens Ladisch <clemens@ladisch.de>
Mon, 22 Jul 2013 19:32:09 +0000 (21:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Aug 2013 08:26:02 +0000 (16:26 +0800)
commita90a3adeda28c4b701b11770817cf86d92db3228
tree4443439c0d4ea52b0cb411b4069286afeea3f170
parent8924588cf02036c239cfec4302f8b44ca6e2c6bb
firewire: fix libdc1394/FlyCap2 iso event regression

commit 0699a73af3811b66b1ab5650575acee5eea841ab upstream.

Commit 18d627113b83 (firewire: prevent dropping of completed iso packet
header data) was intended to be an obvious bug fix, but libdc1394 and
FlyCap2 depend on the old behaviour by ignoring all returned information
and thus not noticing that not all packets have been received yet.  The
result was that the video frame buffers would be saved before they
contained the correct data.

Reintroduce the old behaviour for old clients.

Tested-by: Stepan Salenikovich <stepan.salenikovich@gmail.com>
Tested-by: Josep Bosch <jep250@gmail.com>
Cc: <stable@vger.kernel.org> # 3.4+
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firewire/core-cdev.c
drivers/firewire/ohci.c
include/linux/firewire-cdev.h
include/linux/firewire.h