From patchwork Thu Sep 12 22:30:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 828083 Received: from 008.lax.mailroute.net (008.lax.mailroute.net [199.89.1.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B152E2C80 for ; Thu, 12 Sep 2024 22:30:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180244; cv=none; b=enfavaHAMRt4G8gMJOqgE4BSeFciygsNRrBCyAdcvHpg5WUfvX0yV04mNOR8g1HS+h1gl/iqudL3ExMPy2KrKaOKfeniQcvQivR+q4k2liPugE2FBJamoyQb3WsG4qZj0MVR+AA+yrCPmdoDH0bEQjb5SYfGVgikBrJSYd03dsc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180244; c=relaxed/simple; bh=zKJfrLeoBPPI3uHpNP+FXEv5R0/yEhtRTKeW7bWtfzA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jxVu+9mBzgh2niO0n9gChRVmEmJ/evUmW0DYKk2Ne3HCO9yrZefzcB6eM013tIUodSoM9JuVc7hPxCldB3LYWVReFWgS8HOSVTOjuyDFm3xp32dkDi5Ed1lARqhKI2od8hFISg0CZACYWuZ5dMwR+yxXgCNf1eMdCG0o6ILRgkg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=496bLgMp; arc=none smtp.client-ip=199.89.1.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="496bLgMp" Received: from localhost (localhost [127.0.0.1]) by 008.lax.mailroute.net (Postfix) with ESMTP id 4X4XFs6dcJz6ClY9f; Thu, 12 Sep 2024 22:30:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1726180237; x=1728772238; bh=M602l HejhFAGmvvzqGitnCXvr6yptgiUPr9f9z3DINk=; b=496bLgMp/WEmHjqwvrXZU iAMgBHgjsaaJuzdnO1dDoLbVRkHtXWOW7L9uLoOjEN1BiNoUM1SUxT9BzkCy9DFy V+F+F92xKqDo2VTLAVuOo1dpwFmh3pz1r2Uq5gy2DBXswjJJRFGhHbUc5AJ/95Do w24tC8/UBo3Ana0wEbcnR9DxwiGLpPFghBFgrMg729LVxoF/fueOu0r36k/Uegf+ +oOKHqn60iOEIdp76kz/itSF+delyC+MlOMpiVEhTaLFhnqoWh20vkUaB+5YvTCs r4U66d1QG2J83vU2cPhVIl7hUglCwe0HV0cklXkoFKihFtbGBMFJbDR4KV6R/dBX g== X-Virus-Scanned: by MailRoute Received: from 008.lax.mailroute.net ([127.0.0.1]) by localhost (008.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id o0yCQtKUrh00; Thu, 12 Sep 2024 22:30:37 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 008.lax.mailroute.net (Postfix) with ESMTPSA id 4X4XFm0S0Bz6ClY9R; Thu, 12 Sep 2024 22:30:35 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Peter Wang , Matthias Brugger , AngeloGioacchino Del Regno , Manivannan Sadhasivam , Alim Akhtar , Eric Biggers , Avri Altman , Minwoo Im , Maramaina Naresh Subject: [PATCH v4 1/4] scsi: ufs: core: Improve the struct ufs_hba documentation Date: Thu, 12 Sep 2024 15:30:02 -0700 Message-ID: <20240912223019.3510966-2-bvanassche@acm.org> X-Mailer: git-send-email 2.46.0.662.g92d0881bb0-goog In-Reply-To: <20240912223019.3510966-1-bvanassche@acm.org> References: <20240912223019.3510966-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Make the role of the structure members related to UIC command processing more clear. Reviewed-by: Peter Wang Signed-off-by: Bart Van Assche Reviewed-by: Bao D. Nguyen --- include/ufs/ufshcd.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h index a43b14276bc3..85933775c9f3 100644 --- a/include/ufs/ufshcd.h +++ b/include/ufs/ufshcd.h @@ -868,9 +868,10 @@ enum ufshcd_mcq_opr { * @tmf_tag_set: TMF tag set. * @tmf_queue: Used to allocate TMF tags. * @tmf_rqs: array with pointers to TMF requests while these are in progress. - * @active_uic_cmd: handle of active UIC command - * @uic_cmd_mutex: mutex for UIC command - * @uic_async_done: completion used during UIC processing + * @active_uic_cmd: pointer to active UIC command. + * @uic_cmd_mutex: mutex used for serializing UIC command processing. + * @uic_async_done: completion used to wait for power mode or hibernation state + * changes. * @ufshcd_state: UFSHCD state * @eh_flags: Error handling flags * @intr_mask: Interrupt Mask Bits From patchwork Thu Sep 12 22:30:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 828862 Received: from 008.lax.mailroute.net (008.lax.mailroute.net [199.89.1.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA9DC2C80 for ; Thu, 12 Sep 2024 22:30:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180250; cv=none; b=LoET4dBfzO0Xh65ugRmugs+5L3PChA+AeOeptt4ffMvXJZMlcfxJGtAOLD5uuKtSjt+GlQ8zOAl4d0kHp0zv5BrZb4S0PSFmR7pfxWaQJqAJ8scnDpvV9/FBEIQAaaDGyRe1RIgNejkQdOvpa2uoW+TPj+dGuREW4/4TyZahCYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180250; c=relaxed/simple; bh=vsAg+Zfo4QasgB3bQ181rEygWHkDaCVIGF2Y5YBKUdA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lLz2yiwATAs/sbcnyREKRmNxfT3l9piQiLMgbS+aA6EJMO+K3lLZn8ZicvfQUAQ0DR/gNZ8TZztoaccETUkUZZEtJJjvycMY95WBOK69GmAdabiMx3nijscL+yqR6VGYCJJdE8kC4OU8Qqk9AGwSQLlMI+JvdyH7Rf2BwUEgahk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=i7sde+EM; arc=none smtp.client-ip=199.89.1.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="i7sde+EM" Received: from localhost (localhost [127.0.0.1]) by 008.lax.mailroute.net (Postfix) with ESMTP id 4X4XG01drSz6ClY9f; Thu, 12 Sep 2024 22:30:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1726180242; x=1728772243; bh=W6wt9 R1r1etqtJ7sorREhqWApOiurio2eN+3bU/Y6AU=; b=i7sde+EMOu3wgGn/aRS/q WY4W6fNTbmMBIoYrSM2GcvYRe8EETHUZnoftamw6KgxPeNtw0c4tvg9GCJDy947K CG4yNXmoe4bAIzQ5x+vhA0LFGKMVMCcD4smXba9u92ecErRMH1ZLL0/bI17d7qq7 alwBu85qmMOuFN7CfoXuLzbDbwgkFb0XblmlMu/qlGOZ2qfcKpoIadw7e5/zh3Pd xsrTQLWxsWPXYvIjxP3QCdY0iP5RiU9FNniBYL/KIM3qLzgR8XFpZqXv/+s/g9WC A5ckNOFcWUQ20OyL6xALWqXXALFH5MwfUKPM16rYIVPkKOzRUrJvyRqhbTHui5UW g== X-Virus-Scanned: by MailRoute Received: from 008.lax.mailroute.net ([127.0.0.1]) by localhost (008.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id at4R4Wq3abrT; Thu, 12 Sep 2024 22:30:42 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 008.lax.mailroute.net (Postfix) with ESMTPSA id 4X4XFs1Jnsz6ClY9d; Thu, 12 Sep 2024 22:30:41 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Bean Huo , Peter Wang , "James E.J. Bottomley" , Matthias Brugger , AngeloGioacchino Del Regno , Manivannan Sadhasivam , Avri Altman , Andrew Halaney , "Bao D. Nguyen" Subject: [PATCH v4 2/4] scsi: ufs: core: Make ufshcd_uic_cmd_compl() easier to read Date: Thu, 12 Sep 2024 15:30:03 -0700 Message-ID: <20240912223019.3510966-3-bvanassche@acm.org> X-Mailer: git-send-email 2.46.0.662.g92d0881bb0-goog In-Reply-To: <20240912223019.3510966-1-bvanassche@acm.org> References: <20240912223019.3510966-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Introduce a local variable for the expression hba->active_uic_cmd. Remove superfluous parentheses. No functionality has been changed. Reviewed-by: Bean Huo Reviewed-by: Peter Wang Signed-off-by: Bart Van Assche --- drivers/ufs/core/ufshcd.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 8ea5a82503a9..134cba0ff512 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5458,31 +5458,30 @@ static bool ufshcd_is_auto_hibern8_error(struct ufs_hba *hba, static irqreturn_t ufshcd_uic_cmd_compl(struct ufs_hba *hba, u32 intr_status) { irqreturn_t retval = IRQ_NONE; + struct uic_command *cmd; spin_lock(hba->host->host_lock); + cmd = hba->active_uic_cmd; if (ufshcd_is_auto_hibern8_error(hba, intr_status)) hba->errors |= (UFSHCD_UIC_HIBERN8_MASK & intr_status); - if ((intr_status & UIC_COMMAND_COMPL) && hba->active_uic_cmd) { - hba->active_uic_cmd->argument2 |= - ufshcd_get_uic_cmd_result(hba); - hba->active_uic_cmd->argument3 = - ufshcd_get_dme_attr_val(hba); + if (intr_status & UIC_COMMAND_COMPL && cmd) { + cmd->argument2 |= ufshcd_get_uic_cmd_result(hba); + cmd->argument3 = ufshcd_get_dme_attr_val(hba); if (!hba->uic_async_done) - hba->active_uic_cmd->cmd_active = 0; - complete(&hba->active_uic_cmd->done); + cmd->cmd_active = 0; + complete(&cmd->done); retval = IRQ_HANDLED; } - if ((intr_status & UFSHCD_UIC_PWR_MASK) && hba->uic_async_done) { - hba->active_uic_cmd->cmd_active = 0; + if (intr_status & UFSHCD_UIC_PWR_MASK && hba->uic_async_done) { + cmd->cmd_active = 0; complete(hba->uic_async_done); retval = IRQ_HANDLED; } if (retval == IRQ_HANDLED) - ufshcd_add_uic_command_trace(hba, hba->active_uic_cmd, - UFS_CMD_COMP); + ufshcd_add_uic_command_trace(hba, cmd, UFS_CMD_COMP); spin_unlock(hba->host->host_lock); return retval; } From patchwork Thu Sep 12 22:30:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 828082 Received: from 008.lax.mailroute.net (008.lax.mailroute.net [199.89.1.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 362851C2DC5 for ; Thu, 12 Sep 2024 22:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180253; cv=none; b=kqy3pLQEfk7YgYKNmY1WTtG28JEdPr/4w1GchT68P8pjmfAnlwKTzbutRY7h9h1P4GYUC5M9ZP8UDgOfMQ29pkgaLbKj77oDsje1ixHn1aHRnwsf2hycIE4emRZvgnT/IT1yOwrt32RmvkjFw72rzkWKXVyZxhB3TlOLuhbP3jQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180253; c=relaxed/simple; bh=EItZQZqGW67M4lIKGR/iRJ2sWrG3xM+ZPKTZnbqzjkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N35L6Pj5ADdf7meIeoIoK2JPc8pYZTt6V+HGrKKInWPdiXRkQUU13VkMF5EG/uuMyUP4y0mNElssGY9IVO9Ul08+yCoMEmdrgejH4VM8DjFPvQlKBcbhD9Z3l7KXihlDF87IY2kOWD+ZMDm3B/i4E9Uc6EYf6jzqwZGmHzlJ0kI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=10DEGMer; arc=none smtp.client-ip=199.89.1.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="10DEGMer" Received: from localhost (localhost [127.0.0.1]) by 008.lax.mailroute.net (Postfix) with ESMTP id 4X4XG34mzkz6ClY9f; Thu, 12 Sep 2024 22:30:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1726180247; x=1728772248; bh=KjUCX +a/r76Kaz62EccFAD9fZ938Fa4JiaRnBwzRj0I=; b=10DEGMer9HkzsBil55WAb YUt9Ls0Uc7efe0RUDC9RXoWayeN3M6yTbIDuZyMC8KEvk6Le+aNr8PMDSMk3YEMK yZeTMnvAl+J2IYq3YHIdIp0CX6r0AdYPwjnVLSboc6hzO1OAKX/NBTTDmn3IkeHq URZsr3MCzP4fY3z1EpBxLtjY+C4U/NSDOYBlylIas86gbyGEuXt9MVpGW6SmZk8G 4rxT/SVCEY2KLFhaNZnBFra2M86QTLyjVsK8HGYUfAn+5gBCUcxfQMNQ1nT597Wg QBjLBLlbymo7R+uj1fMx7b4Ist2nwwh9jXwNjHF+6F05MgFMkl0TYUFtT5rRzgHR w== X-Virus-Scanned: by MailRoute Received: from 008.lax.mailroute.net ([127.0.0.1]) by localhost (008.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id 4yUXmUbTB7NZ; Thu, 12 Sep 2024 22:30:47 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 008.lax.mailroute.net (Postfix) with ESMTPSA id 4X4XFy2bzTz6ClY9R; Thu, 12 Sep 2024 22:30:46 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , "James E.J. Bottomley" , Peter Wang , Manivannan Sadhasivam , Avri Altman , Andrew Halaney , Bean Huo , "Bao D. Nguyen" Subject: [PATCH v4 3/4] scsi: ufs: core: Make ufshcd_uic_cmd_compl() easier to analyze Date: Thu, 12 Sep 2024 15:30:04 -0700 Message-ID: <20240912223019.3510966-4-bvanassche@acm.org> X-Mailer: git-send-email 2.46.0.662.g92d0881bb0-goog In-Reply-To: <20240912223019.3510966-1-bvanassche@acm.org> References: <20240912223019.3510966-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In ufshcd_uic_cmd_compl(), there is code that dereferences 'cmd' with and without checking the 'cmd' pointer. This confuses static source code analyzers like Coverity and sparse. Since none of the code in ufshcd_uic_cmd_compl() can do anything useful if 'cmd' is NULL, move the 'cmd' test near the start of this function. Signed-off-by: Bart Van Assche Reviewed-by: Peter Wang Reviewed-by: Bao D. Nguyen --- drivers/ufs/core/ufshcd.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 134cba0ff512..d047ccba8b84 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5462,10 +5462,13 @@ static irqreturn_t ufshcd_uic_cmd_compl(struct ufs_hba *hba, u32 intr_status) spin_lock(hba->host->host_lock); cmd = hba->active_uic_cmd; + if (WARN_ON_ONCE(!cmd)) + goto unlock; + if (ufshcd_is_auto_hibern8_error(hba, intr_status)) hba->errors |= (UFSHCD_UIC_HIBERN8_MASK & intr_status); - if (intr_status & UIC_COMMAND_COMPL && cmd) { + if (intr_status & UIC_COMMAND_COMPL) { cmd->argument2 |= ufshcd_get_uic_cmd_result(hba); cmd->argument3 = ufshcd_get_dme_attr_val(hba); if (!hba->uic_async_done) @@ -5482,7 +5485,10 @@ static irqreturn_t ufshcd_uic_cmd_compl(struct ufs_hba *hba, u32 intr_status) if (retval == IRQ_HANDLED) ufshcd_add_uic_command_trace(hba, cmd, UFS_CMD_COMP); + +unlock: spin_unlock(hba->host->host_lock); + return retval; } From patchwork Thu Sep 12 22:30:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 828861 Received: from 008.lax.mailroute.net (008.lax.mailroute.net [199.89.1.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D44FE1C32F6 for ; Thu, 12 Sep 2024 22:30:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180260; cv=none; b=Zb6TUJUcA8ddhTI4q94Rnlq6ckGIxbO5+ASLsQQzxqSkrIgJCP4HaGZB7RV1eQonppXFmRytj2Ij+7OzEVEsmwy+5wvl1KvpSZblrZHCLzupT+GjEbmoQo66Y35xbrSv94sZ+QGNjnAQbfqFWDIb/dXddGfc+K6ekGf+FQqtyIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726180260; c=relaxed/simple; bh=w0F/ftf3Jy9Gs018n15688G9I3Ojz0lu5reFJjUG+Vk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NieSNwCuk5f/kiptkZ6E6im85dyvnt3j6npAELnQ74wi13afTTMBJZoOt7lWnUW7cqPcUQeLE1JUEVadG1hVC6Vh6EESNvpGw8idnnaRswEexBetNvayjCKGkUuv2E9Ge635FYSEKtbD/dgWNwVudjJUHvMdtmZVtBlc9F6e9Ow= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=ANy5ssWo; arc=none smtp.client-ip=199.89.1.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="ANy5ssWo" Received: from localhost (localhost [127.0.0.1]) by 008.lax.mailroute.net (Postfix) with ESMTP id 4X4XGB427yz6ClY9R; Thu, 12 Sep 2024 22:30:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1726180252; x=1728772253; bh=dUcVo 4cb2xd/osncIq37Cm+daGKwijYh3GhGVQSwEAg=; b=ANy5ssWoROyNcBE+YVdt8 oPkYPzulCPjcTeU5FcfWu1bGYWRRbyc9Lwq6ctWGcym0A6d2JvM3l0rT1HkKsAWp pOBg2ec458z3Qqe00efZex287JS3bQ1/I8lo2grxmfTwYSUhqORBUUbJQB7YSywy R9kzpa+e94F4HhPwxnC+vNsWDxqM0TCdET/HS/bktA2M+oBsqiQDw8BJMIstMK32 YaRJZ3i6bv9ulm0PldJUapAf2TC7OgtyfrslPNFV6M8zIkNLS4WfmhwKYROlNB19 FYYoxKSpxa9fsxRwqFhVCSpknAOZI9WpZyMIFp1mA+zTHNbYFlp0B7xBHt0WeIgB A== X-Virus-Scanned: by MailRoute Received: from 008.lax.mailroute.net ([127.0.0.1]) by localhost (008.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id tw4K8Ldns7vM; Thu, 12 Sep 2024 22:30:52 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 008.lax.mailroute.net (Postfix) with ESMTPSA id 4X4XG32VgSz6ClY9d; Thu, 12 Sep 2024 22:30:51 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Peter Wang , "James E.J. Bottomley" , Matthias Brugger , AngeloGioacchino Del Regno , Manivannan Sadhasivam , Avri Altman , Andrew Halaney , Bean Huo , "Bao D. Nguyen" Subject: [PATCH v4 4/4] scsi: ufs: core: Always initialize the UIC done completion Date: Thu, 12 Sep 2024 15:30:05 -0700 Message-ID: <20240912223019.3510966-5-bvanassche@acm.org> X-Mailer: git-send-email 2.46.0.662.g92d0881bb0-goog In-Reply-To: <20240912223019.3510966-1-bvanassche@acm.org> References: <20240912223019.3510966-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Simplify __ufshcd_send_uic_cmd() by always initializing the uic_cmd::done completion. This is fine since the time required to initialize a completion is small compared to the time required to process an UIC command. Reviewed-by: Peter Wang Signed-off-by: Bart Van Assche --- drivers/ufs/core/ufshcd.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index d047ccba8b84..c881d1fea968 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -2537,13 +2537,11 @@ ufshcd_wait_for_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd) * __ufshcd_send_uic_cmd - Send UIC commands and retrieve the result * @hba: per adapter instance * @uic_cmd: UIC command - * @completion: initialize the completion only if this is set to true * * Return: 0 only if success. */ static int -__ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd, - bool completion) +__ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd) { lockdep_assert_held(&hba->uic_cmd_mutex); @@ -2553,8 +2551,7 @@ __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd, return -EIO; } - if (completion) - init_completion(&uic_cmd->done); + init_completion(&uic_cmd->done); uic_cmd->cmd_active = 1; ufshcd_dispatch_uic_cmd(hba, uic_cmd); @@ -2580,7 +2577,7 @@ int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd) mutex_lock(&hba->uic_cmd_mutex); ufshcd_add_delay_before_dme_cmd(hba); - ret = __ufshcd_send_uic_cmd(hba, uic_cmd, true); + ret = __ufshcd_send_uic_cmd(hba, uic_cmd); if (!ret) ret = ufshcd_wait_for_uic_cmd(hba, uic_cmd); @@ -4270,7 +4267,7 @@ static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd) reenable_intr = true; } spin_unlock_irqrestore(hba->host->host_lock, flags); - ret = __ufshcd_send_uic_cmd(hba, cmd, false); + ret = __ufshcd_send_uic_cmd(hba, cmd); if (ret) { dev_err(hba->dev, "pwr ctrl cmd 0x%x with mode 0x%x uic error %d\n",