···375375 card->bm_retries = 0;376376}377377378378+/* Must be called with card->lock held */378379void fw_destroy_nodes(struct fw_card *card)379380{380380- unsigned long flags;381381-382382- spin_lock_irqsave(&card->lock, flags);383381 card->color++;384382 if (card->local_node != NULL)385383 for_each_fw_node(card, card->local_node, report_lost_node);386384 card->local_node = NULL;387387- spin_unlock_irqrestore(&card->lock, flags);388385}389386390387static void move_tree(struct fw_node *node0, struct fw_node *node1, int port)···507510 struct fw_node *local_node;508511 unsigned long flags;509512513513+ spin_lock_irqsave(&card->lock, flags);514514+510515 /*511516 * If the selfID buffer is not the immediate successor of the512517 * previously processed one, we cannot reliably compare the···519520 fw_destroy_nodes(card);520521 card->bm_retries = 0;521522 }522522-523523- spin_lock_irqsave(&card->lock, flags);524523525524 card->broadcast_channel_allocated = card->broadcast_channel_auto_allocated;526525 card->node_id = node_id;