diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-01-23 19:53:51 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-01-30 16:22:27 -0500 |
commit | cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc (patch) | |
tree | 7b6afe0a4d4236a6c22acf5b724979c30d158090 /drivers/firewire/fw-cdev.c | |
parent | 5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a (diff) |
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/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 60f1a8924a95..cea8a799799f 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, | |||
206 | 206 | ||
207 | event->closure = client->bus_reset_closure; | 207 | event->closure = client->bus_reset_closure; |
208 | event->type = FW_CDEV_EVENT_BUS_RESET; | 208 | event->type = FW_CDEV_EVENT_BUS_RESET; |
209 | event->generation = client->device->generation; | ||
209 | event->node_id = client->device->node_id; | 210 | event->node_id = client->device->node_id; |
210 | event->local_node_id = card->local_node->node_id; | 211 | event->local_node_id = card->local_node->node_id; |
211 | event->bm_node_id = 0; /* FIXME: We don't track the BM. */ | 212 | event->bm_node_id = 0; /* FIXME: We don't track the BM. */ |
212 | event->irm_node_id = card->irm_node->node_id; | 213 | event->irm_node_id = card->irm_node->node_id; |
213 | event->root_node_id = card->root_node->node_id; | 214 | event->root_node_id = card->root_node->node_id; |
214 | event->generation = card->generation; | ||
215 | } | 215 | } |
216 | 216 | ||
217 | static void | 217 | static void |