···375 card->bm_retries = 0;376}3770378void fw_destroy_nodes(struct fw_card *card)379{380- unsigned long flags;381-382- spin_lock_irqsave(&card->lock, flags);383 card->color++;384 if (card->local_node != NULL)385 for_each_fw_node(card, card->local_node, report_lost_node);386 card->local_node = NULL;387- spin_unlock_irqrestore(&card->lock, flags);388}389390static void move_tree(struct fw_node *node0, struct fw_node *node1, int port)···507 struct fw_node *local_node;508 unsigned long flags;50900510 /*511 * If the selfID buffer is not the immediate successor of the512 * previously processed one, we cannot reliably compare the···519 fw_destroy_nodes(card);520 card->bm_retries = 0;521 }522-523- spin_lock_irqsave(&card->lock, flags);524525 card->broadcast_channel_allocated = card->broadcast_channel_auto_allocated;526 card->node_id = node_id;
···375 card->bm_retries = 0;376}377378+/* Must be called with card->lock held */379void fw_destroy_nodes(struct fw_card *card)380{000381 card->color++;382 if (card->local_node != NULL)383 for_each_fw_node(card, card->local_node, report_lost_node);384 card->local_node = NULL;0385}386387static void move_tree(struct fw_node *node0, struct fw_node *node1, int port)···510 struct fw_node *local_node;511 unsigned long flags;512513+ spin_lock_irqsave(&card->lock, flags);514+515 /*516 * If the selfID buffer is not the immediate successor of the517 * previously processed one, we cannot reliably compare the···520 fw_destroy_nodes(card);521 card->bm_retries = 0;522 }00523524 card->broadcast_channel_allocated = card->broadcast_channel_auto_allocated;525 card->node_id = node_id;