From 473d28c730e2de888c24b226cfe4183868eacde2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 7 Mar 2007 12:12:55 -0500 Subject: firewire: Implement topology map and fix a couple of loopback bugs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'drivers/firewire/fw-ohci.c') diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 9e8a8f9..a9e1346 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c @@ -813,8 +813,10 @@ handle_local_request(struct context *ctx, struct fw_packet *packet) u64 offset; u32 csr; - packet->ack = ACK_PENDING; - packet->callback(packet, &ctx->ohci->card, packet->ack); + if (ctx == &ctx->ohci->at_request_ctx) { + packet->ack = ACK_PENDING; + packet->callback(packet, &ctx->ohci->card, packet->ack); + } offset = ((unsigned long long) @@ -839,6 +841,11 @@ handle_local_request(struct context *ctx, struct fw_packet *packet) fw_core_handle_response(&ctx->ohci->card, packet); break; } + + if (ctx == &ctx->ohci->at_response_ctx) { + packet->ack = ACK_COMPLETE; + packet->callback(packet, &ctx->ohci->card, packet->ack); + } } static void -- cgit v1.1