firewire: revert to 4 GB RDMA, fix protocols using Memory Space
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 29 May 2014 13:23:26 +0000 (15:23 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 29 May 2014 13:50:30 +0000 (15:50 +0200)
commit2fe2023adf695d08af5b598b2be3b288a95d563c
tree521854a2189dfb1d9f30526799cea8d9ae019b66
parentc7208164e66f63e3ec1759b98087849286410741
firewire: revert to 4 GB RDMA, fix protocols using Memory Space

Undo a feature introduced in v3.14 by commit fcd46b34425d
"firewire: Enable remote DMA above 4 GB".  That change raised the
minimum address at which protocol drivers and user programs can register
for request reception from 0x0001'0000'0000 to 0x8000'0000'0000.
It turned out that at least one vendor-specific protocol exists which
uses lower addresses:  https://bugzilla.kernel.org/show_bug.cgi?id=76921

For the time being, revert most of commit fcd46b34425d so that affected
protocols work like with kernel v3.13 and before.  Just keep the valid
documentation parts from the regressing commit, and the ability to
identify controllers which could be programmed to accept >32 bit
physical DMA addresses.  The rest of fcd46b34425d should probably be
brought back as an optional instead of default feature.

Reported-by: Fabien Spindler <fabien.spindler@inria.fr>
Cc: <stable@vger.kernel.org> # 3.14+
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Documentation/debugging-via-ohci1394.txt
drivers/firewire/core.h
drivers/firewire/ohci.c