firewire: allocate broadcast channel in hardware
[linux-2.6-block.git] / drivers / firewire / core-topology.c
index ca3c6531816556406bdbf735afe4356a9d540e9f..00a556f3a585c8c83c25d5adf3864c08bd73629e 100644 (file)
@@ -543,7 +543,8 @@ void fw_core_handle_bus_reset(struct fw_card *card, int node_id, int generation,
 
        spin_lock_irqsave(&card->lock, flags);
 
-       card->broadcast_channel_allocated = false;
+       card->broadcast_channel_allocated = (card->driver->get_features(card) &
+                                            FEATURE_CHANNEL_31_ALLOCATED) != 0;
        card->node_id = node_id;
        /*
         * Update node_id before generation to prevent anybody from using