Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp731755pxb; Thu, 31 Mar 2022 16:23:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpebw/jhNvD17/6/O3DnCYyu6fp8MpEqM1jxYGIGwjXvze6LhYKQjovCJS2iPTIkm+tWTT X-Received: by 2002:a17:907:8687:b0:6d7:8f6a:3c0e with SMTP id qa7-20020a170907868700b006d78f6a3c0emr6868468ejc.500.1648768991677; Thu, 31 Mar 2022 16:23:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648768991; cv=none; d=google.com; s=arc-20160816; b=pFgTx9IxE5p4CCH8sE8/qG9lU42+641MX7QlQN0Y8Vre4Ek7ufkW8GmJbZ/4KammfK GH+BbLBgduZcxOQwX7fV7bLsMjVbx8h5/XlV5NQcOJ2ADPzAWoL6h+aM3CMauy2nfRLy fZ+BN5f707MLXQMICFd9TW2DcDi8+Kn1KJQng1zYahA7y7qFOsEIX9to8jnUxZJXcN3o xd70RNVStlFmLXBvj1Qrii6VYgcgBj2jSAbLaM0tOPCZz3sRX77jqkFkhAK0ecWlsXOK yLXMvhDH/JKRATnw3Xe+fOOXyqAbOfPVaqGBk9yv+eNAH6tY6DD7WksnAYt9qfbab7Xp 1tOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version; bh=qPEuwg4+OIqAkco0lxkNPphj+tgtAxeO3GSYfFDz1bM=; b=Gm7TaAAJgZL6nmZbJpVmdy6cBxJ9YTjQ80XQ7FN+/290Tatj+ig9gSdPV3fgUJQe9G LkXPbHCzAbN3q1rSu88qXdwpM+eX6j0gd2gweCnAHyO1oTrXXsX43Hm/c9iGUJ+xAfId BB3EqgJ0riKZx+kIAABn1VSZexRlrAFie50UycFsTg7TcKAK/cAJHt1cj6gOGCoG2eSZ WxbIWzR7/Ons3PRH2zae2P9xFB2905XthOqWXGUPMU6V56T4fgR/Q2k2pVJiitviRcHj fIvCTm++54g5sEkw4BwPpXOHQunaZyCES3/+r/zei0cuAeUPJs/eUTjJYCqj5l1boNsU 2HBQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i15-20020a50cfcf000000b00418ed66ddabsi658215edk.182.2022.03.31.16.22.46; Thu, 31 Mar 2022 16:23:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234714AbiCaKp5 convert rfc822-to-8bit (ORCPT + 99 others); Thu, 31 Mar 2022 06:45:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234703AbiCaKpy (ORCPT ); Thu, 31 Mar 2022 06:45:54 -0400 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E0A03DDD3; Thu, 31 Mar 2022 03:44:04 -0700 (PDT) Received: from mail-lj1-f173.google.com ([209.85.208.173]) by mrelayeu.kundenserver.de (mreue109 [213.165.67.113]) with ESMTPSA (Nemesis) id 1M9WqY-1ndBfK2fES-005WBS; Thu, 31 Mar 2022 12:44:02 +0200 Received: by mail-lj1-f173.google.com with SMTP id q5so31416863ljb.11; Thu, 31 Mar 2022 03:44:02 -0700 (PDT) X-Gm-Message-State: AOAM5323KREuaVHS2c7IL/So/5JqmC4FfoC8xn5v6/9DcCl67dMXy9r/ 5xMJCBbMTxxtWaCmRkAbJafU6oj1vRoiYNGUiOw= X-Received: by 2002:a5d:66ca:0:b0:203:fb72:a223 with SMTP id k10-20020a5d66ca000000b00203fb72a223mr3507386wrw.12.1648721862625; Thu, 31 Mar 2022 03:17:42 -0700 (PDT) MIME-Version: 1.0 References: <46aad49867912fc57b669fc54fdb28638cccfcd9.1648551070.git.tonyhuang.sunplus@gmail.com> <7c4b66f7fe4940cba1b0158803767f6e@sphcmbx02.sunplus.com.tw> In-Reply-To: <7c4b66f7fe4940cba1b0158803767f6e@sphcmbx02.sunplus.com.tw> From: Arnd Bergmann Date: Thu, 31 Mar 2022 12:17:26 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 2/2] mmc: Add mmc driver for Sunplus SP7021 To: =?UTF-8?B?VG9ueSBIdWFuZyDpu4Pmh7fljpo=?= Cc: Arnd Bergmann , Tony Huang , Ulf Hansson , Rob Herring , "lhjeff911@gmail.com" , linux-mmc , DTML , Linux Kernel Mailing List , Philipp Zabel , =?UTF-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= , =?UTF-8?B?TGggS3VvIOmDreWKm+ixqg==?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Provags-ID: V03:K1:xpTDZlbZOwasZwLrLnRYa79iGksGPPPYKzdPgLjVKaYMjt/vsPC oyEIPYjVRFcQyA4PNZJX/xnG+oJDhVU702bzgqxl3euj/jeXIfmG35z5+RqQjAUD1N6BA14 RLirJQdaGCss6LkjeGsHKBdoFFnUUwdd5MD3AQ1YSn+QY4wqIDYO4X8KAFUpU1WVZYzQVrs 37JuybXcKR6lNq6ADMJVQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:b5BZ0dW7EXs=:8DuCFhVrpT8d+PbDr/wvOp PZWDHl1XQCObIZ6FlNwQua/oX9HSOrI6HZhcmyYxgsvx8w0KBV6atFGff9Np2qfM2QJfaLLWj h9lOC8FgrugUr9IaA9GuelIdkRlY4RvElr59c33Yc0dSrKx5/MggDSjFXEqxW4L2uAorw+y/y KGebJt1F5nYspINknuufq9pRqX6DE7M1Lo7GLTLJPgTgasZphjgL0sNpkQ9uSZTbdYrZ1wafZ 33fqm/6UFfRMRspdWshZ629nHXAWSJSW5M5mwYVWGpWj5rQuNLk0vhcqCnJcMztsI+TlKaf/3 /3749RSKzSFYYMLfQa7Cmha4HEdMSMH9FUzOOvxowTECv+VbGNMEqmsZyLbaYL57efMUtNKpY AwzN0UyMtEwXyoE4CcAVU/Je02d4EZRRTHqY+mC97k6geEPbwidGyCHm4M/CU6UHGWWZxSeYE i4vZtd1kSb2gyVjws216tl+5ibZLyb6aKq2swCPgLm2ebDPXR8193TCz3Bck7kOwlXBZOkBy6 FBU7c+JRvxFeoR9HpQHfr/IcY8LwtkQf6ymGvQLEbHcdWh3flmu9YtjiV8xc/aGZbkgVQCpld mt0rzgY6o40rKeklPFCoNwVZIy3+gpdZBmlBXn5G9MzN1Y41ztahzpgyXZFDPxSlhFvF52wMm jfPZNGXAyIYgMWsp5NLUdz3JmliK5g2dT0kcfykJ9Xbiq4KFhIom3Y0Xw4zFFFuWXIXKzFy5h PErpGfMG8DgyjscU9WQpdrq+tpm7X/Hi0UhWLcFa6zC9OvFTDT1y7iZNnH29xDQ7L1qoyP8cS /ureQvGAcdTPhlNMVuI8AOS7YnivdZDj5h9Nym4r1Tqqu94Ve0= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 31, 2022 at 11:27 AM Tony Huang 黃懷厚 wrote: > > > +static void spmmc_request(struct mmc_host *mmc, struct mmc_request > > > +*mrq) { > > > + struct spmmc_host *host = mmc_priv(mmc); > > > + struct mmc_data *data; > > > + struct mmc_command *cmd; > > > + int ret; > > > + > > > + ret = mutex_lock_interruptible(&host->mrq_lock); > > > + if (ret) > > > + return; > > > > I don't think it's valid to just return here when you get a signal. If nothing can > > handle the signal, doesn't it just hang? > > > > It also appears that you don't release the mutex until the tasklet runs, but it is > > not valid to release a mutex from a different context. > > > > You should get a warning about this when running a kernel with lockdep > > enabled at compile time. Please rework the locking to make this work. > > > Reomve code: > ret = mutex_lock_interruptible(&host->mrq_lock); > if (ret) > return; > > Below is my modification: > . mutex_lock(&host->mrq_lock); That addresses the problem with the signal handling, but not the lock imbalance. Please fix that as well. > > > > It's better to use SYSTEM_SLEEP_PM_OPS/RUNTIME_PM_OPS instead of the > > SET_ version, then you can remove all the #ifdef checks. > > > > I use SYSTEM_SLEEP_PM_OPS/RUNTIME_PM_OPS. > Compile shows error. Error: implicit declaration of function ? ? SYSTEM_SLEEP_PM_OPS? ? Did you mean ? ? SET_SYSTEM_SLEEP_PM_OPS? ? [-Werror=implicit-function-declaration] Maybe you are on an old kernel release? > I reference other mmc driver. > Below is my modification: > Compiler is pass. > > #ifdef CONFIG_PM_SLEEP > static int spmmc_pm_suspend(struct device *dev) > { > pm_runtime_force_suspend(dev); > > return 0; > } We should fix the other drivers as well. For the moment, just do it the right way now instead of copying the #ifdefs. Arnd