diff options
| -rw-r--r-- | drivers/firewire/fw-topology.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 45e6f9bfe99c..0fc9b000e99d 100644 --- a/drivers/firewire/fw-topology.c +++ b/drivers/firewire/fw-topology.c | |||
| @@ -166,7 +166,7 @@ static inline struct fw_node *fw_node(struct list_head *l) | |||
| 166 | * This function builds the tree representation of the topology given | 166 | * This function builds the tree representation of the topology given |
| 167 | * by the self IDs from the latest bus reset. During the construction | 167 | * by the self IDs from the latest bus reset. During the construction |
| 168 | * of the tree, the function checks that the self IDs are valid and | 168 | * of the tree, the function checks that the self IDs are valid and |
| 169 | * internally consistent. On succcess this funtions returns the | 169 | * internally consistent. On succcess this function returns the |
| 170 | * fw_node corresponding to the local card otherwise NULL. | 170 | * fw_node corresponding to the local card otherwise NULL. |
| 171 | */ | 171 | */ |
| 172 | static struct fw_node *build_tree(struct fw_card *card, | 172 | static struct fw_node *build_tree(struct fw_card *card, |
| @@ -215,6 +215,10 @@ static struct fw_node *build_tree(struct fw_card *card, | |||
| 215 | */ | 215 | */ |
| 216 | for (i = 0, h = &stack; i < child_port_count; i++) | 216 | for (i = 0, h = &stack; i < child_port_count; i++) |
| 217 | h = h->prev; | 217 | h = h->prev; |
| 218 | /* | ||
| 219 | * When the stack is empty, this yields an invalid value, | ||
| 220 | * but that pointer will never be dereferenced. | ||
| 221 | */ | ||
| 218 | child = fw_node(h); | 222 | child = fw_node(h); |
| 219 | 223 | ||
| 220 | node = fw_node_create(q, port_count, card->color); | 224 | node = fw_node_create(q, port_count, card->color); |
