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:50:38 +0000 (16:50 +0800)
commitf8c974f6fbdef40d37f957292f3238552a8d3598
tree60392c81dcd63784f90d5e50952cce49a2963b94
parent6d2c6593cf6592707c68e95f43982adbe573c6ac
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>
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.h
include/uapi/linux/firewire-cdev.h