diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index a333748255269659abfbee6c314e28f93d5e5af7..ec70c9f911712b956426acd92a1148cea9653491 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) /* FIXME: Document how the locking works. */ if (ohci->generation != packet->generation) { + if (packet->payload_length > 0) + dma_unmap_single(ohci->card.device, payload_bus, + packet->payload_length, DMA_TO_DEVICE); packet->ack = RCODE_GENERATION; return -1; }