From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7B63C433E7 for ; Wed, 14 Oct 2020 02:19:26 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5573F21775 for ; Wed, 14 Oct 2020 02:19:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MwD81LAW"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oUGoV8GY" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5573F21775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=AkUrLnbPbkSHQGv+1BVhPFHIFd44cEOw41kr/s7lbPE=; b=MwD81LAWl/zJ12v3H2dPU6d9Vk ka3z2r12/OWucShLa4eT7Dl7cBJtfkqD6291TFyGP37tqrezdeaVpoOWMYcpIQIeepMVY30ruRIuZ FXM8qPl7u7xx1h68MWwuKMIin2Aw9Lg8386Z6jEKaXDBaQ3pT4H3vg2LFgvz3GUQIlXLUveo38bxY eb2JCigKMNrtd6uP5jZz02mTIPjlWxaqbrN89sWx5yvgWUIArc48N49UOp9b1mXnBdX9+/4Aj1eR4 WOto72ew5WcspMIhWugfp4Ok2JYja10nGvlMEoSX0bXlGhXsYXaf4xLSfjRIg43KeQFS121XUkA2s WqafK8FQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kSWMW-0001eE-2E; Wed, 14 Oct 2020 02:17:56 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kSWMT-0001dp-F5 for linux-arm-kernel@lists.infradead.org; Wed, 14 Oct 2020 02:17:54 +0000 Received: by mail-pl1-x644.google.com with SMTP id d6so945636plo.13 for ; Tue, 13 Oct 2020 19:17:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5hXqpDpwajMUx3r0UTdq/WnSFU//Ur+kyWYEtM1ANEM=; b=oUGoV8GYuntcrDRo/Tod+AoPN5daBmdGNd6Dpv4QatVRwCsK68bJ073lGVBurIq9dL lQq6UCjR8gMCbw2rNr8yyoHCjEZIw/TSB9OjHUzYfbXYXc+jAooXYjf3xplS74Oy4nQC DvkEGf4gcNbzT7W4tBAUVbNSISyFo7iMzMguu6NHl1GXNvFv7wG2CP6Cyav0eiXL3fr8 oW2NFWARLCV+1OZXF69v2hve9yCGldV60YmTqGCz3qsJx3LJw9Kipekx7UXt9KW/TKGc VPIxKxaTSPFkoOYwU0ZvbQjaMuD/o10a8+aiKD0UHtixAkRXowD/AMQjHrzRyt0iaIVZ mJzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5hXqpDpwajMUx3r0UTdq/WnSFU//Ur+kyWYEtM1ANEM=; b=oZCPh0U18DRs/hxcQiEhxi6iKpOPOa2wSfeNecxfsavBxR6CoP/fqwDjCZlFKyoqPH Rq+Zz+VNrvx7NmXjLQpPIElDGNXeELae1+bdOy+Qp3sD2e5DKGYQY21vSoKDRe1Vynnq KLvO6JsD4QfcJ3POWzcjvul7qEbAV7/JSr/mYCzrD8gaZ1xnP0VEWG6fniYS+Gm/y5ZC B/w+/QlnlBCNPaXXQuiYQ5iAfiRBgbCcJd2KWVGHkupHeewHvHow2Vqcp91/onyfMall Oxb6MrEpdtBqfc24Suc/jAnrdTu3jcx1ptXFoWWbkhYiyR1d+KHIYEfdMdvB7Vgv6lJt LGfQ== X-Gm-Message-State: AOAM5328M77E0CCJ1/AhMIwsqfwWvdfRDqXGOG+CPZgfGn77PEW4VZw7 0LlLjwpu8nP5GPiOzqS0ITkCtlo5OGY= X-Google-Smtp-Source: ABdhPJwzxJyoRj4oQ2YLcDRPGp7WLBsro0wCxQn6DtJvC7OFi0o7DW76UFxyMYv7USxXgV7fevQYkQ== X-Received: by 2002:a17:90a:1a02:: with SMTP id 2mr1250852pjk.201.1602641870618; Tue, 13 Oct 2020 19:17:50 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id s186sm1059876pfs.51.2020.10.13.19.17.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Oct 2020 19:17:49 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] firmware: arm_scmi: Fix duplicate workqueue name Date: Tue, 13 Oct 2020 19:17:37 -0700 Message-Id: <20201014021737.287340-1-f.fainelli@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201013_221753_537265_92EDB555 X-CRM114-Status: GOOD ( 16.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, Florian Fainelli , Cristian Marussi , Jonathan Cameron , Sudeep Holla Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When more than a single SCMI device are present in the system, the creation of the notification workqueue with the WQ_SYSFS flag will lead to the following sysfs duplicate node warning: [ 9.259990] sysfs: cannot create duplicate filename '/devices/virtual/workqueue/scmi_notify' [ 9.260024] CPU: 0 PID: 20 Comm: kworker/0:1 Not tainted 5.9.0-gdf4dd84a3f7d #29 [ 9.260045] Hardware name: Broadcom STB (Flattened Device Tree) [ 9.260083] Workqueue: events deferred_probe_work_func [ 9.260099] Backtrace: [ 9.260127] [] (dump_backtrace) from [] (show_stack+0x20/0x24) [ 9.260155] r9:ffffffff r8:00000000 r7:c298e3c0 r6:60000013 r5:00000000 r4:c298e3c0 [ 9.260186] [] (show_stack) from [] (dump_stack+0xbc/0xe0) [ 9.260216] [] (dump_stack) from [] (sysfs_warn_dup+0x70/0x80) [ 9.260243] r10:e472d814 r9:ffffffef r8:e4614a50 r7:c2806d48 r6:e0e50f80 r5:e4614a50 [ 9.260265] r4:e0e82000 r3:c5b17c34 [ 9.260285] [] (sysfs_warn_dup) from [] (sysfs_create_dir_ns+0x15c/0x1a4) [ 9.260310] r7:c2806d48 r6:ffffffef r5:e0dff008 r4:bb8cd6e4 [ 9.260335] [] (sysfs_create_dir_ns) from [] (kobject_add_internal+0x140/0x4d0) [ 9.260363] r9:e451fa80 r8:e0dff01c r7:e0dff014 r6:e45b1400 r5:e0dff018 r4:e0dff008 [ 9.260390] [] (kobject_add_internal) from [] (kobject_add+0xc8/0x138) [ 9.260416] r10:e0dff030 r9:00000000 r8:e45b1400 r7:00000000 r6:c2806d48 r5:e0dff008 [ 9.260436] r4:bb8cd708 [ 9.260455] [] (kobject_add) from [] (device_add+0x1dc/0xc20) [ 9.260476] r3:e0dff014 r2:00000000 [ 9.260495] r9:00000000 r8:e466b980 r7:e45b1400 r6:c2806d48 r5:bb8cd724 r4:e0dff008 [ 9.260521] [] (device_add) from [] (device_register+0x24/0x28) [ 9.260547] r10:c2831340 r9:e0dfec08 r8:e0dff028 r7:e0dfecc0 r6:e0dfec00 r5:e0dff008 [ 9.260567] r4:e0dff008 [ 9.260586] [] (device_register) from [] (workqueue_sysfs_register+0xe4/0x1f0) [ 9.260609] r5:e0dff008 r4:e0dff000 [ 9.260627] [] (workqueue_sysfs_register) from [] (alloc_workqueue+0x448/0x6ac) [ 9.260655] r10:e0dfecc0 r9:e0dfec08 r8:e0dfec0c r7:e0dfec04 r6:e0dfecc0 r5:e0dfec00 [ 9.260675] r4:00000001 [ 9.260698] [] (alloc_workqueue) from [] (scmi_notification_init+0x78/0x1dc) [ 9.260720] r3:c0a1b488 r2:00000000 [ 9.260739] r10:e0de1040 r9:00800004 r8:e0de10d8 r7:e0de10f4 r6:e0de1074 r5:e0e54740 [ 9.260759] r4:e0e50d00 [ 9.260778] [] (scmi_notification_init) from [] (scmi_probe+0x268/0x4fc) [ 9.260805] r9:00800004 r8:e0de10d8 r7:e0de10f4 r6:e0de1074 r5:e0de10f0 r4:e472d810 [ 9.260833] [] (scmi_probe) from [] (platform_drv_probe+0x70/0xc8) [ 9.260859] r10:e472d844 r9:c2ab02b4 r8:c2b5e298 r7:00000000 r6:c2ab02b4 r5:00000000 [ 9.260879] r4:e472d810 [ 9.260898] [] (platform_drv_probe) from [] (really_probe+0x184/0x728) [ 9.260922] r7:00000000 r6:c2fc82a0 r5:c2fc8220 r4:e472d810 [ 9.260946] [] (really_probe) from [] (driver_probe_device+0xa4/0x278) [ 9.260973] r10:e0cef438 r9:c0a14a04 r8:c2b771c0 r7:c2b5e298 r6:c2ab02b4 r5:e472d834 [ 9.260993] r4:e472d810 [ 9.261014] [] (driver_probe_device) from [] (__device_attach_driver+0xe8/0x148) [ 9.261042] r10:e0cef438 r9:c0a14a04 r8:e466bdc0 r7:e472d810 r6:00000000 r5:c2ab02b4 [ 9.261062] r4:e466bdc0 [ 9.261082] [] (__device_attach_driver) from [] (bus_for_each_drv+0x108/0x158) [ 9.261107] r7:c2806d48 r6:00000000 r5:bb8cd79c r4:e466bd00 [ 9.261131] [] (bus_for_each_drv) from [] (__device_attach+0x190/0x234) [ 9.261158] r10:e46fde00 r9:e472d848 r8:e472d854 r7:e466be00 r6:c2806d48 r5:bb8cd7b4 [ 9.261178] r4:e472d810 [ 9.261199] [] (__device_attach) from [] (device_initial_probe+0x1c/0x20) [ 9.261226] r10:e46fde54 r9:c29d6380 r8:c29d7910 r7:e472d810 r6:c29d78c0 r5:c29d6340 [ 9.261246] r4:e44efe00 [ 9.261266] [] (device_initial_probe) from [] (bus_probe_device+0xdc/0xec) [ 9.261296] [] (bus_probe_device) from [] (deferred_probe_work_func+0xd4/0x11c) [ 9.261324] r9:c29d6380 r8:e4672e54 r7:c29d6380 r6:c29d6340 r5:c29d6340 r4:e472d810 [ 9.261356] [] (deferred_probe_work_func) from [] (process_one_work+0x420/0x8f0) [ 9.261384] r10:e452fd84 r9:c2b53750 r8:00000000 r7:e452ae0c r6:e8a1e240 r5:e452ae00 [ 9.261404] r4:c29d6440 [ 9.261424] [] (process_one_work) from [] (worker_thread+0x4fc/0x91c) [ 9.261450] r10:e8a1e258 r9:e452ae00 r8:e8a1e254 r7:e8a1e240 r6:e452fd84 r5:e8a1e254 [ 9.261470] r4:e452ae14 [ 9.261492] [] (worker_thread) from [] (kthread+0x21c/0x22c) [ 9.261517] r10:e455bce0 r9:e45b8d80 r8:e452ae00 r7:c025aa04 r6:e45b8d80 r5:00000000 [ 9.261537] r4:e45c0400 [ 9.261555] [] (kthread) from [] (ret_from_fork+0x14/0x20) [ 9.261575] Exception stack(0xe466bfb0 to 0xe466bff8) [ 9.261593] bfa0: 00000000 00000000 00000000 00000000 [ 9.261618] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 9.261641] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 9.261663] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0265700 [ 9.261683] r4:e4622080 [ 9.261728] kobject_add_internal failed for scmi_notify with -EEXIST, don't try to register things with the same name in the same directory. [ 9.261805] arm-scmi brcm_scmi@1: SCMI Notifications - Initialization Failed. [ 9.261847] arm-scmi brcm_scmi@1: SCMI Notifications NOT available. [ 9.262026] arm-scmi brcm_scmi@1: SCMI Protocol v1.0 'brcm-scmi:' Firmware version 0x1 Fix this by using dev_name(handle->dev) which guarantees that the name is unique and this also helps correlate which notification workqueue corresponds to which SCMI device instance. Fixes: bd31b249692e ("firmware: arm_scmi: Add notification dispatch and delivery") Signed-off-by: Florian Fainelli --- drivers/firmware/arm_scmi/notify.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/firmware/arm_scmi/notify.c b/drivers/firmware/arm_scmi/notify.c index 4731daaacd19..24c9ef232f48 100644 --- a/drivers/firmware/arm_scmi/notify.c +++ b/drivers/firmware/arm_scmi/notify.c @@ -1468,7 +1468,7 @@ int scmi_notification_init(struct scmi_handle *handle) ni->gid = gid; ni->handle = handle; - ni->notify_wq = alloc_workqueue("scmi_notify", + ni->notify_wq = alloc_workqueue(dev_name(handle->dev), WQ_UNBOUND | WQ_FREEZABLE | WQ_SYSFS, 0); if (!ni->notify_wq) -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel