firewire: core: obsolete usage of GFP_ATOMIC at building node tree
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 4 Jun 2023 07:02:55 +0000 (16:02 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 5 Jun 2023 22:54:52 +0000 (07:54 +0900)
The flag of GFP_ATOMIC is given to the call of kmalloc when building node
tree, but the call is not atomic context. The call of
fw_core_handle_bus_reset() and fw_core_remove_card() builds the tree,
while they are done in specific workqueue or pci remove callback.

This commit obsolete the usage of GFP_ATOMIC.

Link: https://lore.kernel.org/r/20230604070255.172700-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/core-device.c
drivers/firewire/core-topology.c

index aa597cd..a3104e3 100644 (file)
@@ -1211,7 +1211,7 @@ void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
                 * without actually having a link.
                 */
  create:
-               device = kzalloc(sizeof(*device), GFP_ATOMIC);
+               device = kzalloc(sizeof(*device), GFP_KERNEL);
                if (device == NULL)
                        break;
 
index f40c815..88466b6 100644 (file)
@@ -101,7 +101,7 @@ static struct fw_node *fw_node_create(u32 sid, int port_count, int color)
 {
        struct fw_node *node;
 
-       node = kzalloc(struct_size(node, ports, port_count), GFP_ATOMIC);
+       node = kzalloc(struct_size(node, ports, port_count), GFP_KERNEL);
        if (node == NULL)
                return NULL;