All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyril Bur <cyrilbur@gmail.com>
To: Daniel Axtens <dja@axtens.net>
Cc: linuxppc-dev@ozlabs.org, mikey@neuling.org, imunsie@au.ibm.com
Subject: Re: [PATCH v2 04/10] cxl: Clean up adapter MMIO unmap path.
Date: Tue, 11 Aug 2015 13:52:49 +1000	[thread overview]
Message-ID: <20150811135249.4fdacf75@camb691> (raw)
In-Reply-To: <1438061323-20710-5-git-send-email-dja@axtens.net>

On Tue, 28 Jul 2015 15:28:37 +1000
Daniel Axtens <dja@axtens.net> wrote:

>  - MMIO pointer unmapping is guarded by a null pointer check.
>    However, iounmap doesn't null the pointer, just invalidate it.
>    Therefore, explicitly null the pointer after unmapping.
> 
>  - afu_desc_mmio also needs to be unmapped.
> 
>  - PCI regions are allocated in cxl_map_adapter_regs.
>    Therefore they should be released in unmap, not elsewhere.
> 

You've changed the order in which cxl_remove_adapter() does its work, which,
I'm sure you've considered and it's fine, best to check.

Acked-by: Cyril Bur <cyrilbur@gmail.com>

> Signed-off-by: Daniel Axtens <dja@axtens.net>
> ---
>  drivers/misc/cxl/pci.c | 24 ++++++++++++++++++------
>  1 file changed, 18 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
> index 1849c1785b49..adcf938f2fdb 100644
> --- a/drivers/misc/cxl/pci.c
> +++ b/drivers/misc/cxl/pci.c
> @@ -539,10 +539,18 @@ err:
>  
>  static void cxl_unmap_slice_regs(struct cxl_afu *afu)
>  {
> -	if (afu->p2n_mmio)
> +	if (afu->p2n_mmio) {
>  		iounmap(afu->p2n_mmio);
> -	if (afu->p1n_mmio)
> +		afu->p2n_mmio = NULL;
> +	}
> +	if (afu->p1n_mmio) {
>  		iounmap(afu->p1n_mmio);
> +		afu->p1n_mmio = NULL;
> +	}
> +	if (afu->afu_desc_mmio) {
> +		iounmap(afu->afu_desc_mmio);
> +		afu->afu_desc_mmio = NULL;
> +	}
>  }
>  
>  static void cxl_release_afu(struct device *dev)
> @@ -920,10 +928,16 @@ err1:
>  
>  static void cxl_unmap_adapter_regs(struct cxl *adapter)
>  {
> -	if (adapter->p1_mmio)
> +	if (adapter->p1_mmio) {
>  		iounmap(adapter->p1_mmio);
> -	if (adapter->p2_mmio)
> +		adapter->p1_mmio = NULL;
> +		pci_release_region(to_pci_dev(adapter->dev.parent), 2);
> +	}
> +	if (adapter->p2_mmio) {
>  		iounmap(adapter->p2_mmio);
> +		adapter->p2_mmio = NULL;
> +		pci_release_region(to_pci_dev(adapter->dev.parent), 0);
> +	}
>  }
>  
>  static int cxl_read_vsec(struct cxl *adapter, struct pci_dev *dev)
> @@ -1132,8 +1146,6 @@ static void cxl_remove_adapter(struct cxl *adapter)
>  
>  	device_unregister(&adapter->dev);
>  
> -	pci_release_region(pdev, 0);
> -	pci_release_region(pdev, 2);
>  	pci_disable_device(pdev);
>  }
>  

  reply	other threads:[~2015-08-11  3:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-28  5:28 [PATCH v2 00/10] CXL EEH Handling Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 01/10] cxl: Drop commands if the PCI channel is not in normal state Daniel Axtens
2015-08-11  3:31   ` Cyril Bur
2015-08-11  4:11     ` Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 02/10] cxl: Allocate and release the SPA with the AFU Daniel Axtens
2015-08-11  3:42   ` Cyril Bur
2015-08-11  4:16     ` Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 03/10] cxl: Make IRQ release idempotent Daniel Axtens
2015-08-11  3:44   ` Cyril Bur
2015-07-28  5:28 ` [PATCH v2 04/10] cxl: Clean up adapter MMIO unmap path Daniel Axtens
2015-08-11  3:52   ` Cyril Bur [this message]
2015-08-11  6:38     ` Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 05/10] cxl: Refactor adaptor init/teardown Daniel Axtens
2015-08-11  6:01   ` Cyril Bur
2015-08-11 22:38     ` Daniel Axtens
2015-08-12 10:14     ` David Laight
2015-08-12 21:58       ` Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 06/10] cxl: Refactor AFU init/teardown Daniel Axtens
2015-08-11  3:59   ` Cyril Bur
2015-07-28  5:28 ` [PATCH v2 07/10] cxl: Don't remove AFUs/vPHBs in cxl_reset Daniel Axtens
2015-08-11  5:57   ` Cyril Bur
2015-07-28  5:28 ` [PATCH v2 08/10] cxl: Allow the kernel to trust that an image won't change on PERST Daniel Axtens
2015-08-11  7:15   ` Cyril Bur
2015-08-11 11:22     ` Daniel Axtens
2015-08-11 23:47       ` Daniel Axtens
2015-07-28  5:28 ` [PATCH v2 09/10] cxl: EEH support Daniel Axtens
2015-08-11  7:23   ` Cyril Bur
2015-07-28  5:28 ` [PATCH v2 10/10] cxl: Add CONFIG_CXL_EEH symbol Daniel Axtens
2015-08-11  3:59   ` Cyril Bur

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150811135249.4fdacf75@camb691 \
    --to=cyrilbur@gmail.com \
    --cc=dja@axtens.net \
    --cc=imunsie@au.ibm.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mikey@neuling.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.