]> www.infradead.org Git - users/hch/misc.git/commitdiff
most: core: Drop device reference after usage in get_channel()
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 4 Aug 2025 08:29:55 +0000 (12:29 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Aug 2025 10:57:34 +0000 (12:57 +0200)
In get_channel(), the reference obtained by bus_find_device_by_name()
was dropped via put_device() before accessing the device's driver data
Move put_device() after usage to avoid potential issues.

Fixes: 2485055394be ("staging: most: core: drop device reference")
Cc: stable <stable@kernel.org>
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20250804082955.3621026-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/most/core.c

index a635d5082ebb64231d824a664a79bd76273068b9..da319d108ea1df91602cf70a0b4eca23777e3639 100644 (file)
@@ -538,8 +538,8 @@ static struct most_channel *get_channel(char *mdev, char *mdev_ch)
        dev = bus_find_device_by_name(&mostbus, NULL, mdev);
        if (!dev)
                return NULL;
-       put_device(dev);
        iface = dev_get_drvdata(dev);
+       put_device(dev);
        list_for_each_entry_safe(c, tmp, &iface->p->channel_list, list) {
                if (!strcmp(dev_name(&c->dev), mdev_ch))
                        return c;