diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-01-24 01:53:51 +0100 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-01-30 22:22:27 +0100 |
commit | cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc (patch) | |
tree | 7b6afe0a4d4236a6c22acf5b724979c30d158090 /drivers/firewire | |
parent | 5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a (diff) | |
download | kernel-crypto-cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc.tar.gz kernel-crypto-cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc.tar.xz kernel-crypto-cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc.zip |
firewire: fw-cdev: use device generation, not card generation
We have to use the fw_device.generation here, not the fw_card.generation,
because the generation must never be newer than the node ID when we emit
a transaction. This cannot be guaranteed with fw_card.generation.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Verified in concert with subsequent memory barriers patch to fix 'giving
up on config rom' issues on multiple system and drive combinations that
were previously affected.
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
Diffstat (limited to 'drivers/firewire')
-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 60f1a8924a9..cea8a799799 100644 --- a/drivers/firewire/fw-cdev.c +++ b/drivers/firewire/fw-cdev.c @@ -206,12 +206,12 @@ fill_bus_reset_event(struct fw_cdev_event_bus_reset *event, event->closure = client->bus_reset_closure; event->type = FW_CDEV_EVENT_BUS_RESET; + event->generation = client->device->generation; event->node_id = client->device->node_id; event->local_node_id = card->local_node->node_id; event->bm_node_id = 0; /* FIXME: We don't track the BM. */ event->irm_node_id = card->irm_node->node_id; event->root_node_id = card->root_node->node_id; - event->generation = card->generation; } static void |