diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-08-29 13:40:28 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-10-16 18:00:07 -0400 |
commit | ab88ca488b8af66c3defa165874e81e695319a19 (patch) | |
tree | 0f798dacb2c16317a15b043697ae2e74384ff319 /drivers | |
parent | e524f616f59722bc7f93eb1fd79d3bbdcdf4f894 (diff) |
firewire: fw-ohci: missing dma_unmap_single
at_context_queue_packet() didn't clean up in an early exit path.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firewire/fw-ohci.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index a33374825526..ec70c9f91171 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c | |||
@@ -680,6 +680,9 @@ at_context_queue_packet(struct context *ctx, struct fw_packet *packet) | |||
680 | 680 | ||
681 | /* FIXME: Document how the locking works. */ | 681 | /* FIXME: Document how the locking works. */ |
682 | if (ohci->generation != packet->generation) { | 682 | if (ohci->generation != packet->generation) { |
683 | if (packet->payload_length > 0) | ||
684 | dma_unmap_single(ohci->card.device, payload_bus, | ||
685 | packet->payload_length, DMA_TO_DEVICE); | ||
683 | packet->ack = RCODE_GENERATION; | 686 | packet->ack = RCODE_GENERATION; |
684 | return -1; | 687 | return -1; |
685 | } | 688 | } |