From patchwork Tue Mar 19 03:47:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Pakki X-Patchwork-Id: 10858793 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8C3A214DE for ; Tue, 19 Mar 2019 03:48:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6DCA229506 for ; Tue, 19 Mar 2019 03:48:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5DF082898C; Tue, 19 Mar 2019 03:48:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 36B432898C for ; Tue, 19 Mar 2019 03:48:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727148AbfCSDrj (ORCPT ); Mon, 18 Mar 2019 23:47:39 -0400 Received: from mta-p5.oit.umn.edu ([134.84.196.205]:60248 "EHLO mta-p5.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726579AbfCSDrj (ORCPT ); Mon, 18 Mar 2019 23:47:39 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p5.oit.umn.edu (Postfix) with ESMTP id A7DCC94E for ; Tue, 19 Mar 2019 03:47:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p5.oit.umn.edu ([127.0.0.1]) by localhost (mta-p5.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HFW8yitTmnXP for ; Mon, 18 Mar 2019 22:47:37 -0500 (CDT) Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p5.oit.umn.edu (Postfix) with ESMTPS id 7CB849E5 for ; Mon, 18 Mar 2019 22:47:37 -0500 (CDT) Received: by mail-io1-f71.google.com with SMTP id y13so15158467iol.1 for ; Mon, 18 Mar 2019 20:47:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=3nLLt/A8ybSn982aAYZjuJ3zBQyVjKcmWSDELvsFnGQ=; b=qbVGCqa+tlKfnbOPsFZN2MGsq1TijkrizcuUd0Aq7AoWgKNXVTaIzvoEAPTwA/W5Hn MVS1xbn6b7DamDkNbKGfMpalvtUWNJQM/Ud6zdxOneGpkgode7q4buSQxOoso+BJgkhH y81u0uafZy7zBp0z3gyGkJSHXluVThjiHh8GZQBX1TZri4aUhlDZY/hXcn6muZOuInaA h+fI2H/kZ8tPAgiGnNAPeiWXPD/u0FtD6E5Ga9y8HUZwhnbtP6f5MShyNWq8lajiw2Xw PChA90HEaXOf76KJJAYknDMMcMM6TrZgyuByIHSVsQ+vAo4Fp17MNH4xVZ5ZWLgaK0q0 /XWA== 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; bh=3nLLt/A8ybSn982aAYZjuJ3zBQyVjKcmWSDELvsFnGQ=; b=fujkmStxLQmAYecNXn/BoLHL5P6HpJHjSD1CXPDpQN0u0NiqmSRvrAWE4+ZmBujTHZ vCMt4LFxO/ReUV2+AhYbB1VWhBQgHPQwsivfNds5dPIl4FExkH95M7voCGI/6YGjsA3u u/GG9eoWpaV+dS8jFgZF7lGuWGYEwB2M/VSQ/xKbCmDwZsb8ZIx+NaGJsISPp07rfYrJ 5TAw+maIsb1721gAVqYe8Hjy5AFVnfyNX/LrwZ4JFrACAh30P5RcnPp2P5nvCf7DK5vy k/d4p/+cM9BjUuArdtoayhgM8oLP3jrq5VdjBKi2M/XmDQlX77By2JA7h2CfoO5jvngL wDUg== X-Gm-Message-State: APjAAAXYYqCkp4kEX8VjXqJxuhQ00kji0qRB+Fx0Bi7i9sUDZ8qRstaz t3z1rLHyzDGCBnhl+V0bqXNhQNPYo7hUb9tH+1y9E4pi7fc1urVW4hhIVadTLzAqI8RujKFnMvl 9Dz5KSzXycndDOEpD98KmidnkHA== X-Received: by 2002:a05:6638:258:: with SMTP id w24mr182268jaq.85.1552967257088; Mon, 18 Mar 2019 20:47:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqz522tyQQ5BSuaEAwytCXNwKLi+M01+I5q4/e2bniXvACaFGJ/3odDzGCDQScvAbAGmzCiKbA== X-Received: by 2002:a05:6638:258:: with SMTP id w24mr182257jaq.85.1552967256897; Mon, 18 Mar 2019 20:47:36 -0700 (PDT) Received: from lenovo-1.hsd1.mn.comcast.net (c-73-242-25-233.hsd1.mn.comcast.net. [73.242.25.233]) by smtp.googlemail.com with ESMTPSA id z11sm5121980iom.73.2019.03.18.20.47.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Mar 2019 20:47:36 -0700 (PDT) From: Aditya Pakki To: pakki001@umn.edu Cc: kjlu@umn.edu, Alim Akhtar , Avri Altman , Pedro Sousa , "James E.J. Bottomley" , "Martin K. Petersen" , Subhash Jadavani , Asutosh Das , Marc Gonzalez , Bjorn Andersson , Ohad Sharabi , Vivek Gautam , linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] scsi: ufs: Check for return value of create_singlethread_workqueue Date: Mon, 18 Mar 2019 22:47:28 -0500 Message-Id: <20190319034732.19559-1-pakki001@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In case create_singlethread_workqueue fails in ufshcd_init_scaling, the patch returns the error upstream. Signed-off-by: Aditya Pakki --- drivers/scsi/ufs/ufshcd.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index e040f9dd9ff3..e822f8eb0601 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -1748,12 +1748,12 @@ static ssize_t ufshcd_clkgate_enable_store(struct device *dev, return count; } -static void ufshcd_init_clk_scaling(struct ufs_hba *hba) +static int ufshcd_init_clk_scaling(struct ufs_hba *hba) { char wq_name[sizeof("ufs_clkscaling_00")]; if (!ufshcd_is_clkscaling_supported(hba)) - return; + return 0; INIT_WORK(&hba->clk_scaling.suspend_work, ufshcd_clk_scaling_suspend_work); @@ -1763,8 +1763,11 @@ static void ufshcd_init_clk_scaling(struct ufs_hba *hba) snprintf(wq_name, sizeof(wq_name), "ufs_clkscaling_%d", hba->host->host_no); hba->clk_scaling.workq = create_singlethread_workqueue(wq_name); + if (!hba->clk_scaling.workq) + return -ENOMEM; ufshcd_clkscaling_init_sysfs(hba); + return 0; } static void ufshcd_exit_clk_scaling(struct ufs_hba *hba) @@ -8256,7 +8259,9 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) ufshcd_init_clk_gating(hba); - ufshcd_init_clk_scaling(hba); + err = ufshcd_init_clk_scaling(hba); + if (err) + goto exit_scaling; /* * In order to avoid any spurious interrupt immediately after @@ -8332,8 +8337,9 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) out_remove_scsi_host: scsi_remove_host(hba->host); -exit_gating: +exit_scaling: ufshcd_exit_clk_scaling(hba); +exit_gating: ufshcd_exit_clk_gating(hba); out_disable: hba->is_irq_enabled = false;