[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YSj1u1x7ruEysfNq@kroah.com>
Date: Fri, 27 Aug 2021 16:24:59 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Dongliang Mu <mudongliangabcd@...il.com>
Cc: Samuel Iglesias Gonsalvez <siglesias@...lia.com>,
Jens Taprogge <jens.taprogge@...rogge.org>,
Lv Yunlong <lyl2019@...l.ustc.edu.cn>,
Aditya Srivastava <yashsri421@...il.com>,
Randy Dunlap <rdunlap@...radead.org>,
industrypack-devel@...ts.sourceforge.net,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ipack: tpci200: change pci_iounmap to iounmap
On Fri, Aug 27, 2021 at 06:33:46PM +0800, Dongliang Mu wrote:
> On Fri, Aug 27, 2021 at 6:00 PM Greg Kroah-Hartman
> <gregkh@...uxfoundation.org> wrote:
> >
> > On Fri, Aug 27, 2021 at 05:43:47PM +0800, Dongliang Mu wrote:
> > > The deallocation api for ioremap should be iounmap, other than
> > > pci_iounmap.
> >
> > why?
>
> Because the tpci200->info->cfg_regs/interface_regs is allocated by
> ioremap. From my understanding, ioremap and iounmap are in pairs,
> other than pci_iounmap.
> See the code below.
>
> tpci200->info->interface_regs =
> ioremap(pci_resource_start(tpci200->info->pdev,
> TPCI200_IP_INTERFACE_BAR),
> TPCI200_IFACE_SIZE);
>
> https://elixir.bootlin.com/linux/latest/source/drivers/ipack/carriers/tpci200.c#L297
>
> tpci200->info->cfg_regs = ioremap(
> pci_resource_start(pdev, TPCI200_CFG_MEM_BAR),
> pci_resource_len(pdev, TPCI200_CFG_MEM_BAR));
>
> https://elixir.bootlin.com/linux/latest/source/drivers/ipack/carriers/tpci200.c#L546
>
> If there is any issue, please let me know
The point is that the driver should be calling pci_iomap_bar() instead
of ioremap(), and then the call to pci_ioumap() is correct here.
Please make that change instead.
thanks,
greg k-h
Powered by blists - more mailing lists