Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753987AbbHUJjD (ORCPT ); Fri, 21 Aug 2015 05:39:03 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:57800 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753620AbbHUJi7 (ORCPT ); Fri, 21 Aug 2015 05:38:59 -0400 X-AuditID: cbfee68e-f79c56d000006efb-13-55d6f1b2a10f From: Alim Akhtar To: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: vinholikatti@gmail.com, JBottomley@odin.com, Seungwon Jeon Subject: [PATCH 09/10] scsi: ufs: return value of pwr_change_notify Date: Fri, 21 Aug 2015 14:58:00 +0530 Message-id: <1440149281-26336-10-git-send-email-alim.akhtar@samsung.com> X-Mailer: git-send-email 1.7.10.4 In-reply-to: <1440149281-26336-1-git-send-email-alim.akhtar@samsung.com> References: <1440149281-26336-1-git-send-email-alim.akhtar@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsWyRsSkTnfTx2uhBmv+8lv8X3+bxeLyrjls Ft3Xd7BZfLh/kdlix8IqB1aPnbPusnsc/vGD2aNvyypGj8+b5AJYorhsUlJzMstSi/TtErgy Jjf9ZS54xVdxeOFe5gbGyTxdjJwcEgImEj13GxghbDGJC/fWs3UxcnEICaxglFjZ+pUNpuji uresEImljBInJ61jgXB+Mkpc2TEVrIpNQFvi7vQtTCC2iICNxPmbD8BsZoFwiWsbZrOD2MIC zhIPVh1mAbFZBFQl5txqBlvNK+Ah0fr1BzPENkWJ7mcTwGZyAsXvNs0DqxcScJe4fPkY2BUS As3sEk+3vWSCGCQg8W3yIaAiDqCErMSmA1BzJCUOrrjBMoFReAEjwypG0dSC5ILipPQiI73i xNzi0rx0veT83E2MwEA+/e9Z3w7GmwesDzEKcDAq8fDOiLwWKsSaWFZcmXuI0RRow0RmKdHk fGC85JXEGxqbGVmYmpgaG5lbmimJ8yZI/QwWEkhPLEnNTk0tSC2KLyrNSS0+xMjEwSnVwJhx d8vLu/oR3g8FZI9Oe+7ddPJmeua1oNoo0WmqteraNa+b3vy9172a+XBRK//plTO+XjULXxi/ U/FRvfu9rddUV3Ot69gySz9a62Ot+sR7Z9YnGrzp+3bOqiX8ds9R7q0LW5s5g7KiN7q7ih5P iPMP7VpW5H/dIv5vW8WuHxaxt+ZxP77aHKvEUpyRaKjFXFScCAA6+7tmXwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJIsWRmVeSWpSXmKPExsVy+t9jAd1NH6+FGjy8wGLxf/1tFovLu+aw WXRf38Fm8eH+RWaLHQurHFg9ds66y+5x+McPZo++LasYPT5vkgtgiWpgtMlITUxJLVJIzUvO T8nMS7dV8g6Od443NTMw1DW0tDBXUshLzE21VXLxCdB1y8wB2qukUJaYUwoUCkgsLlbSt8M0 ITTETdcCpjFC1zckCK7HyAANJKxhzJjc9Je54BVfxeGFe5kbGCfzdDFyckgImEhcXPeWFcIW k7hwbz1bFyMXh5DAUkaJk5PWsUA4PxklruyYygZSxSagLXF3+hYmEFtEwEbi/M0HYDazQLjE tQ2z2UFsYQFniQerDrOA2CwCqhJzbjUzgti8Ah4SrV9/MENsU5TofjYBbCYnUPxu0zyweiEB d4nLl4+xTmDkXcDIsIpRIrUguaA4KT3XMC+1XK84Mbe4NC9dLzk/dxMjOFqeSe1gPLjL/RCj AAejEg/vjMhroUKsiWXFlbmHGCU4mJVEeK1fAIV4UxIrq1KL8uOLSnNSiw8xmgIdNpFZSjQ5 HxjJeSXxhsYm5qbGppYmFiZmlkrivLIbNocKCaQnlqRmp6YWpBbB9DFxcEo1MBakBEwT3j+l MNUz9JpygvYMRmENoScpTjbxR8NOP7JS3R/3OdWsbWKK9OKJcl8/L1595E93bc3ssvkNgQHq Hw3ZD5fc/uApVpuk0Ldzy8t6zsmnjC8FM7c+Yn2+u3iexX6t5osXZs76uPiROH/X72bLQwmu oQrKjhyVnlz5uXN9pR6t7F9jpsRSnJFoqMVcVJwIAEVWs9CsAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2079 Lines: 69 From: Seungwon Jeon Behavior of the "powwer mode change" contains vendor specific operation known as pwr_change_notify. This change adds return for pwr_change_notify to find success or failure. Signed-off-by: Seungwon Jeon Signed-off-by: Alim Akhtar --- drivers/scsi/ufs/ufshcd.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 8982da9..142a927 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -2579,14 +2579,18 @@ static int ufshcd_change_power_mode(struct ufs_hba *hba, dev_err(hba->dev, "%s: power mode change failed %d\n", __func__, ret); } else { - if (hba->vops && hba->vops->pwr_change_notify) - hba->vops->pwr_change_notify(hba, - POST_CHANGE, NULL, pwr_mode); + if (hba->vops && hba->vops->pwr_change_notify) { + ret = hba->vops->pwr_change_notify(hba, + POST_CHANGE, NULL, pwr_mode); + if (ret) + goto out; + } memcpy(&hba->pwr_info, pwr_mode, sizeof(struct ufs_pa_layer_attr)); } +out: return ret; } @@ -2601,14 +2605,18 @@ int ufshcd_config_pwr_mode(struct ufs_hba *hba, struct ufs_pa_layer_attr final_params = { 0 }; int ret; - if (hba->vops && hba->vops->pwr_change_notify) - hba->vops->pwr_change_notify(hba, - PRE_CHANGE, desired_pwr_mode, &final_params); - else + if (hba->vops && hba->vops->pwr_change_notify) { + ret = hba->vops->pwr_change_notify(hba, + PRE_CHANGE, desired_pwr_mode, &final_params); + if (ret) + goto out; + } else { memcpy(&final_params, desired_pwr_mode, sizeof(final_params)); + } ret = ufshcd_change_power_mode(hba, &final_params); +out: return ret; } EXPORT_SYMBOL_GPL(ufshcd_config_pwr_mode); -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/