aboutsummaryrefslogtreecommitdiff
path: root/drivers/firewire
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2025-09-08 10:21:08 +0900
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>2025-09-08 10:26:26 +0900
commita4bac55d99d37976209e2fc2c32bd3dfc86b0447 (patch)
tree4993b2a8bacbe05018389c2c4b31d6604ca7a0e3 /drivers/firewire
parentcae2d92cdcae3f2f4510feb631661e86a26da55e (diff)
firewire: core: code refactoring whether root node is cycle master capable
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>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/core-card.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c
index b430a70a7eeb..474d8066e090 100644
--- a/drivers/firewire/core-card.c
+++ b/drivers/firewire/core-card.c
@@ -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,