]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
firewire: core: code refactoring to queue work item for iso_resource
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 29 Apr 2026 09:34:43 +0000 (18:34 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 29 Apr 2026 11:30:33 +0000 (20:30 +0900)
The add_client_resource() function checks the type of client resource
every time to be called. If the type is for iso_resource, it schedules
work item.

However, the iso_resource client resource is only added by the call of
init_iso_resource(). There is no need to check the type every time adding
any client resource.

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

index 144625c34be2e703e37b47e9f6ad8d3493b4dde1..8391c7efab2ce65c8a41825ffe5f778381a5aad4 100644 (file)
@@ -526,8 +526,6 @@ static int add_client_resource(struct client *client, struct client_resource *re
 
                resource->handle = index;
                client_get(client);
-               if (is_iso_resource(resource))
-                       schedule_iso_resource(to_iso_resource(resource), 0);
        }
 
        return 0;
@@ -1438,8 +1436,9 @@ static int init_iso_resource(struct client *client,
        } else {
                r->resource.release = NULL;
                r->resource.handle = -1;
-               schedule_iso_resource(r, 0);
        }
+       schedule_iso_resource(r, 0);
+
        request->handle = r->resource.handle;
 
        return 0;