Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp2469373img; Sun, 24 Mar 2019 09:31:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqymtuHVxLLxpD+ZzXoePmGb+XWrspkT0fh+GWjXssPsM+lmrEdSC78a48t05EwFm/TFwQWn X-Received: by 2002:a62:1385:: with SMTP id 5mr19603616pft.221.1553445083560; Sun, 24 Mar 2019 09:31:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553445083; cv=none; d=google.com; s=arc-20160816; b=K53Y7a9C01GuvgwDtyn2+9FRZDJRwJkZH4xB2cyYhc1QaZaH5xjc34SmCXPV7QEBlI PwNXIKtLKrPcLbWSzQ987Y5RdkS9dxa4/ohZhfyhvUCK7yTF2ilUPmw0x6ENU83uxP5T J2jrfdL+ocaYTkoNGOeVDf3zFQflsittiVtMbX345qegJGUxDzW19HEjAf1o5RiAiQdk 0uXt49NItcWjmb449lyqAkjy0EkDPtI4o/wQYibjGLVktTq9ogheQqoBS/qW3/WtsEcJ REsANpLQVpuzVQpMWCKu6lWS5NvkOnxTciGagHfd1N/2FPudQlkwhf+0RKqs6NNW9QCu 3ytA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:organization:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=tIobbCH3A1dv9EV6cAKofC1ZASpBT8suly04G6g3QdI=; b=KMo/szDu3L+S7LrcRqZX5S1hMD63NwadfEARClntSO1WUTPx2j/S7saLf0iUIkL6Em ZiCpXSu8U0HEHosQ351BBz7PX18BUE+vsa3dRySH/ehVjHDZO/VIjGF6FVpKcoLaE37J dNv3SMgVUHxmE1sIZ4/89mKOu+cOX77RN86w2JGuzMK6cWZyi543CeXKuEA+erhvKIis wjkSJcm2p/OudQy+dRL2ra9tWpKqO+Cj15iL3endypEv9kgd6r7b0jbdyq85pezveNYJ E4Agcm+TnoCwZUZReI08GxBRkpGP2OqtRgxSSGzfKg1AhDu/YJyXiEGit0nQrsI8jgxG uCqg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j188si11799550pfb.75.2019.03.24.09.31.07; Sun, 24 Mar 2019 09:31:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728799AbfCXQ3H (ORCPT + 99 others); Sun, 24 Mar 2019 12:29:07 -0400 Received: from mga05.intel.com ([192.55.52.43]:47990 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727111AbfCXQ3H (ORCPT ); Sun, 24 Mar 2019 12:29:07 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Mar 2019 09:29:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,256,1549958400"; d="scan'208";a="155357905" Received: from smile.fi.intel.com (HELO smile) ([10.237.72.86]) by fmsmga004.fm.intel.com with ESMTP; 24 Mar 2019 09:29:04 -0700 Received: from andy by smile with local (Exim 4.92) (envelope-from ) id 1h85zc-0003nt-E5; Sun, 24 Mar 2019 18:29:04 +0200 Date: Sun, 24 Mar 2019 18:29:04 +0200 From: Andy Shevchenko To: Aditya Pakki Cc: kjlu@umn.edu, Greg Kroah-Hartman , Jiri Slaby , Vinod Koul , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] tty: 8250: fix a missing check for pci_ioremap_bar Message-ID: <20190324162904.GH9224@smile.fi.intel.com> References: <20190324160901.23001-1-pakki001@umn.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190324160901.23001-1-pakki001@umn.edu> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Mar 24, 2019 at 11:09:00AM -0500, Aditya Pakki wrote: > pci_ioremap_bar could fail. The patch returns in case of failure to > acquire IOMEM. It also releases the acquired resource in the exit path. Thanks for an update. Almost, but one think below. > > Signed-off-by: Aditya Pakki > > --- > v2: Failed to release resource in exit path and incorrect code in non > DMA case, suggested by Andy Shevchenko > v1: Missed return by default in CONFIG_SERIAL_8250_DMA, suggested by > Jiri Slaby > --- > drivers/tty/serial/8250/8250_lpss.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c > index 53ca9ba6ab4b..7889b2552013 100644 > --- a/drivers/tty/serial/8250/8250_lpss.c > +++ b/drivers/tty/serial/8250/8250_lpss.c > @@ -170,9 +170,11 @@ static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port *port) > int ret; > > chip->dev = &pdev->dev; > + chip->pdata = &qrk_serial_dma_pdata; > chip->irq = pci_irq_vector(pdev, 0); > chip->regs = pci_ioremap_bar(pdev, 1); > - chip->pdata = &qrk_serial_dma_pdata; > + if (!chip->regs) > + return; > > /* Falling back to PIO mode if DMA probing fails */ > ret = dw_dma_probe(chip); > @@ -199,6 +201,7 @@ static void qrk_serial_exit_dma(struct lpss8250 *lpss) > > if (!param->dma_dev) > return; > + pci_iounmap(param->dma_dev, &lpss->dma_chip->regs); This will fail the DMA driver ->remove() badly. You need to do this after removal of DMA itself. See the symmetry with setup above? > dw_dma_remove(&lpss->dma_chip); ...put it here. Don't forget to separate from above with blank line. -- With Best Regards, Andy Shevchenko