diff options
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r-- | drivers/firewire/fw-topology.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 172c1867e9aa..d2c7a3d7e1cb 100644 --- a/drivers/firewire/fw-topology.c +++ b/drivers/firewire/fw-topology.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/wait.h> | 22 | #include <linux/wait.h> |
23 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
24 | #include <asm/bug.h> | ||
24 | #include <asm/system.h> | 25 | #include <asm/system.h> |
25 | #include "fw-transaction.h" | 26 | #include "fw-transaction.h" |
26 | #include "fw-topology.h" | 27 | #include "fw-topology.h" |
@@ -383,6 +384,7 @@ void fw_destroy_nodes(struct fw_card *card) | |||
383 | card->color++; | 384 | card->color++; |
384 | if (card->local_node != NULL) | 385 | if (card->local_node != NULL) |
385 | for_each_fw_node(card, card->local_node, report_lost_node); | 386 | for_each_fw_node(card, card->local_node, report_lost_node); |
387 | card->local_node = NULL; | ||
386 | spin_unlock_irqrestore(&card->lock, flags); | 388 | spin_unlock_irqrestore(&card->lock, flags); |
387 | } | 389 | } |
388 | 390 | ||
@@ -423,8 +425,8 @@ update_tree(struct fw_card *card, struct fw_node *root) | |||
423 | node1 = fw_node(list1.next); | 425 | node1 = fw_node(list1.next); |
424 | 426 | ||
425 | while (&node0->link != &list0) { | 427 | while (&node0->link != &list0) { |
428 | WARN_ON(node0->port_count != node1->port_count); | ||
426 | 429 | ||
427 | /* assert(node0->port_count == node1->port_count); */ | ||
428 | if (node0->link_on && !node1->link_on) | 430 | if (node0->link_on && !node1->link_on) |
429 | event = FW_NODE_LINK_OFF; | 431 | event = FW_NODE_LINK_OFF; |
430 | else if (!node0->link_on && node1->link_on) | 432 | else if (!node0->link_on && node1->link_on) |