]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
firewire: core: code refactoring whether root node is cycle master capable
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 8 Sep 2025 01:21:08 +0000 (10:21 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 8 Sep 2025 01:26:26 +0000 (10:26 +0900)
The check of cycle master capability in root node is currently just in a
condition branch. In this case, the required variable should be within the
branch.

This commit is just for the purpose.

Link: https://lore.kernel.org/r/20250908012108.514698-12-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/core-card.c

index b430a70a7eeb05083c6d5f810e2a18c81fb94b3a..474d8066e090ba531f6cd15ffaa7057f7f10d7fc 100644 (file)
@@ -289,12 +289,10 @@ static void bm_work(struct work_struct *work)
                63, 5, 7, 8, 10, 13, 16, 18, 21, 24, 26, 29, 32, 35, 37, 40
        };
        struct fw_card *card __free(card_unref) = from_work(card, work, bm_work.work);
-       struct fw_device *root_device;
        struct fw_node *root_node __free(node_unref) = NULL;
        int root_id, new_root_id, irm_id, local_id;
        int expected_gap_count, generation, grace;
        bool do_reset = false;
-       bool root_device_is_cmc;
 
        lockdep_assert_held(&card->lock);
 
@@ -308,8 +306,6 @@ static void bm_work(struct work_struct *work)
        generation = card->generation;
 
        root_node = fw_node_get(card->root_node);
-       root_device = fw_node_get_device(root_node);
-       root_device_is_cmc = root_device && root_device->cmc;
 
        root_id  = root_node->node_id;
        irm_id   = card->irm_node->node_id;
@@ -519,9 +515,11 @@ static void bm_work(struct work_struct *work)
                reset_bus(card, card_gap_count != 0);
                /* Will allocate broadcast channel after the reset. */
        } else {
+               struct fw_device *root_device = fw_node_get_device(root_node);
+
                spin_unlock_irq(&card->lock);
 
-               if (root_device_is_cmc) {
+               if (root_device && root_device->cmc) {
                        // Make sure that the cycle master sends cycle start packets.
                        __be32 data = cpu_to_be32(CSR_STATE_BIT_CMSTR);
                        int rcode = fw_run_transaction(card, TCODE_WRITE_QUADLET_REQUEST,