diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-03-10 21:01:08 +0100 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-03-24 20:56:50 +0100 |
commit | 207fbefb18de9bc6f871e4008da29879c90cb67e (patch) | |
tree | a1f24a4b814ee43ca3e8dffa290e3db84a68d5b9 /drivers/firewire/fw-cdev.c | |
parent | de487da8ca5839d057e1f4b57ee3f387e180b800 (diff) | |
download | linux-207fbefb18de9bc6f871e4008da29879c90cb67e.tar.bz2 |
firewire: cdev: fix race of ioctl_send_request with bus reset
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>
Diffstat (limited to 'drivers/firewire/fw-cdev.c')
-rw-r--r-- | drivers/firewire/fw-cdev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firewire/fw-cdev.c b/drivers/firewire/fw-cdev.c index 160cb27e120c..c54e019c9586 100644 --- a/drivers/firewire/fw-cdev.c +++ b/drivers/firewire/fw-cdev.c @@ -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); } |