summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-20 13:23:59 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-25 19:42:36 +0200
commit6fdc03709433ccc2005f0f593ae9d9dd04f7b485 (patch)
treee42e7304084b1b6420d456fbd2a5622e93327a74 /include
parent0c53decdd0a9f9c459ccabe0b5f79660bde5375b (diff)
downloadlinux-6fdc03709433ccc2005f0f593ae9d9dd04f7b485.tar.gz
linux-6fdc03709433ccc2005f0f593ae9d9dd04f7b485.tar.bz2
linux-6fdc03709433ccc2005f0f593ae9d9dd04f7b485.zip
firewire: core: do not DMA-map stack addresses
The DMA mapping API cannot map on-stack addresses, as explained in Documentation/DMA-mapping.txt. Convert the two cases of on-stack packet payload buffers in firewire-core (payload of lock requests in the bus manager work and in iso resource management) to slab-allocated memory. There are a number on-stack buffers for quadlet write or quadlet read requests in firewire-core and firewire-sbp2. These are harmless; they are copied to/ from card driver internal DMA buffers since quadlet payloads are inlined with packet headers. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'include')
-rw-r--r--include/linux/firewire.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index 9823946adbc5..192d1e43c43c 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -127,6 +127,7 @@ struct fw_card {
struct delayed_work work;
int bm_retries;
int bm_generation;
+ __be32 bm_transaction_data[2];
bool broadcast_channel_allocated;
u32 broadcast_channel;