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>
This commit is contained in:
Родитель
5a8a1bcd15
Коммит
cf5a56ac80
|
@ -206,12 +206,12 @@ fill_bus_reset_event(struct fw_cdev_event_bus_reset *event,
|
||||||
|
|
||||||
event->closure = client->bus_reset_closure;
|
event->closure = client->bus_reset_closure;
|
||||||
event->type = FW_CDEV_EVENT_BUS_RESET;
|
event->type = FW_CDEV_EVENT_BUS_RESET;
|
||||||
|
event->generation = client->device->generation;
|
||||||
event->node_id = client->device->node_id;
|
event->node_id = client->device->node_id;
|
||||||
event->local_node_id = card->local_node->node_id;
|
event->local_node_id = card->local_node->node_id;
|
||||||
event->bm_node_id = 0; /* FIXME: We don't track the BM. */
|
event->bm_node_id = 0; /* FIXME: We don't track the BM. */
|
||||||
event->irm_node_id = card->irm_node->node_id;
|
event->irm_node_id = card->irm_node->node_id;
|
||||||
event->root_node_id = card->root_node->node_id;
|
event->root_node_id = card->root_node->node_id;
|
||||||
event->generation = card->generation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Загрузка…
Ссылка в новой задаче