firewire: core: do not DMA-map stack addresses
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sat, 20 Jun 2009 11:23:59 +0000 (13:23 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 25 Jun 2009 17:42:36 +0000 (19:42 +0200)
commit6fdc03709433ccc2005f0f593ae9d9dd04f7b485
treee42e7304084b1b6420d456fbd2a5622e93327a74
parent0c53decdd0a9f9c459ccabe0b5f79660bde5375b
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>
drivers/firewire/core-card.c
drivers/firewire/core-cdev.c
drivers/firewire/core-iso.c
drivers/firewire/core.h
include/linux/firewire.h