]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
firewire: core: use guard macro to maintain static packet data for phy configuration
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 5 Aug 2024 08:53:52 +0000 (17:53 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 5 Aug 2024 08:53:52 +0000 (17:53 +0900)
The core function provide a kernel API to send phy configuration packet.
Current implementation of the feature uses packet object allocated
statically. The concurrent access to the object is protected by static
mutex.

This commit uses guard macro to maintain the mutex.

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

index a89c841a7dbe7cf89778076c68658449a33aa14d..2a2cbd6e2f9be1bc076120e2cb6de71366790979 100644 (file)
@@ -494,7 +494,7 @@ void fw_send_phy_config(struct fw_card *card,
        phy_packet_phy_config_set_gap_count(&data, gap_count);
        phy_packet_phy_config_set_gap_count_optimization(&data, true);
 
-       mutex_lock(&phy_config_mutex);
+       guard(mutex)(&phy_config_mutex);
 
        async_header_set_tcode(phy_config_packet.header, TCODE_LINK_INTERNAL);
        phy_config_packet.header[1] = data;
@@ -508,8 +508,6 @@ void fw_send_phy_config(struct fw_card *card,
 
        card->driver->send_request(card, &phy_config_packet);
        wait_for_completion_timeout(&phy_config_done, timeout);
-
-       mutex_unlock(&phy_config_mutex);
 }
 
 static struct fw_address_handler *lookup_overlapping_address_handler(