firewire: cdev: fix race of ioctl_send_request with bus reset
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 10 Mar 2009 20:01:08 +0000 (21:01 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 24 Mar 2009 19:56:50 +0000 (20:56 +0100)
The bus reset handler concurrently frees client->device->node.  Use
device->node_id instead.  This is equivalent to device->node->node_id
while device->generation is current.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-cdev.c

index 160cb27e120c7b88c7038f488351ce7f360e5d95..c54e019c95860561b03b982145ce01e19a2c2287 100644 (file)
@@ -585,7 +585,7 @@ static int ioctl_send_request(struct client *client, void *buffer)
                return -EINVAL;
        }
 
-       return init_request(client, request, client->device->node->node_id,
+       return init_request(client, request, client->device->node_id,
                            client->device->max_speed);
 }