diff mbox

[SRU,Zesty,1/1] powerpc/npu-dma: Remove spurious WARN_ON when a PCI device has no of_node

Message ID 863c80fc8a49d7f2bed8c50806c784575ab8cb94.1499790254.git.joseph.salisbury@canonical.com
State New
Headers show

Commit Message

Joseph Salisbury July 12, 2017, 1:47 p.m. UTC
From: Alistair Popple <alistair@popple.id.au>

BugLink: http://bugs.launchpad.net/bugs/1702768

Commit 4c3b89effc28 ("powerpc/powernv: Add sanity checks to
pnv_pci_get_{gpu|npu}_dev") introduced explicit warnings in
pnv_pci_get_npu_dev() when a PCIe device has no associated device-tree
node. However not all PCIe devices have an of_node and
pnv_pci_get_npu_dev() gets indirectly called at least once for every
PCIe device in the system. This results in spurious WARN_ON()'s so
remove it.

The same situation should not exist for pnv_pci_get_gpu_dev() as any
NPU based PCIe device requires a device-tree node.

Fixes: 4c3b89effc28 ("powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev")
Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 377aa6b0efbaa29cfeecd8b9244641217f9544ca)
Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
---
 arch/powerpc/platforms/powernv/npu-dma.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Stefan Bader July 12, 2017, 2:11 p.m. UTC | #1
On 12.07.2017 15:47, Joseph Salisbury wrote:
> From: Alistair Popple <alistair@popple.id.au>
> 
> BugLink: http://bugs.launchpad.net/bugs/1702768
> 
> Commit 4c3b89effc28 ("powerpc/powernv: Add sanity checks to
> pnv_pci_get_{gpu|npu}_dev") introduced explicit warnings in
> pnv_pci_get_npu_dev() when a PCIe device has no associated device-tree
> node. However not all PCIe devices have an of_node and
> pnv_pci_get_npu_dev() gets indirectly called at least once for every
> PCIe device in the system. This results in spurious WARN_ON()'s so
> remove it.
> 
> The same situation should not exist for pnv_pci_get_gpu_dev() as any
> NPU based PCIe device requires a device-tree node.
> 
> Fixes: 4c3b89effc28 ("powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev")
> Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> Signed-off-by: Alistair Popple <alistair@popple.id.au>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> (cherry picked from commit 377aa6b0efbaa29cfeecd8b9244641217f9544ca)
> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>

> ---

SRU justification should be added to bug report. Otherwise ok.

-Stefan

>  arch/powerpc/platforms/powernv/npu-dma.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/powernv/npu-dma.c b/arch/powerpc/platforms/powernv/npu-dma.c
> index 3184c9e..c10ad16 100644
> --- a/arch/powerpc/platforms/powernv/npu-dma.c
> +++ b/arch/powerpc/platforms/powernv/npu-dma.c
> @@ -75,7 +75,8 @@ struct pci_dev *pnv_pci_get_npu_dev(struct pci_dev *gpdev, int index)
>  	if (WARN_ON(!gpdev))
>  		return NULL;
>  
> -	if (WARN_ON(!gpdev->dev.of_node))
> +	/* Not all PCI devices have device-tree nodes */
> +	if (!gpdev->dev.of_node)
>  		return NULL;
>  
>  	/* Get assoicated PCI device */
>
Seth Forshee July 12, 2017, 2:55 p.m. UTC | #2
On Wed, Jul 12, 2017 at 09:47:54AM -0400, Joseph Salisbury wrote:
> From: Alistair Popple <alistair@popple.id.au>
> 
> BugLink: http://bugs.launchpad.net/bugs/1702768
> 
> Commit 4c3b89effc28 ("powerpc/powernv: Add sanity checks to
> pnv_pci_get_{gpu|npu}_dev") introduced explicit warnings in
> pnv_pci_get_npu_dev() when a PCIe device has no associated device-tree
> node. However not all PCIe devices have an of_node and
> pnv_pci_get_npu_dev() gets indirectly called at least once for every
> PCIe device in the system. This results in spurious WARN_ON()'s so
> remove it.
> 
> The same situation should not exist for pnv_pci_get_gpu_dev() as any
> NPU based PCIe device requires a device-tree node.
> 
> Fixes: 4c3b89effc28 ("powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev")
> Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> Signed-off-by: Alistair Popple <alistair@popple.id.au>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> (cherry picked from commit 377aa6b0efbaa29cfeecd8b9244641217f9544ca)
> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>

This patch was already sent/applied for another bug report:

https://lists.ubuntu.com/archives/kernel-team/2017-June/085279.html

So this bug probably should just be duped to the one there.
Joseph Salisbury July 12, 2017, 3:27 p.m. UTC | #3
On 07/12/2017 10:55 AM, Seth Forshee wrote:
> On Wed, Jul 12, 2017 at 09:47:54AM -0400, Joseph Salisbury wrote:
>> From: Alistair Popple <alistair@popple.id.au>
>>
>> BugLink: http://bugs.launchpad.net/bugs/1702768
>>
>> Commit 4c3b89effc28 ("powerpc/powernv: Add sanity checks to
>> pnv_pci_get_{gpu|npu}_dev") introduced explicit warnings in
>> pnv_pci_get_npu_dev() when a PCIe device has no associated device-tree
>> node. However not all PCIe devices have an of_node and
>> pnv_pci_get_npu_dev() gets indirectly called at least once for every
>> PCIe device in the system. This results in spurious WARN_ON()'s so
>> remove it.
>>
>> The same situation should not exist for pnv_pci_get_gpu_dev() as any
>> NPU based PCIe device requires a device-tree node.
>>
>> Fixes: 4c3b89effc28 ("powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev")
>> Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>> Signed-off-by: Alistair Popple <alistair@popple.id.au>
>> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
>> (cherry picked from commit 377aa6b0efbaa29cfeecd8b9244641217f9544ca)
>> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
> This patch was already sent/applied for another bug report:
>
> https://lists.ubuntu.com/archives/kernel-team/2017-June/085279.html
>
> So this bug probably should just be duped to the one there.

Thanks, Seth.  I'll dupe it.
diff mbox

Patch

diff --git a/arch/powerpc/platforms/powernv/npu-dma.c b/arch/powerpc/platforms/powernv/npu-dma.c
index 3184c9e..c10ad16 100644
--- a/arch/powerpc/platforms/powernv/npu-dma.c
+++ b/arch/powerpc/platforms/powernv/npu-dma.c
@@ -75,7 +75,8 @@  struct pci_dev *pnv_pci_get_npu_dev(struct pci_dev *gpdev, int index)
 	if (WARN_ON(!gpdev))
 		return NULL;
 
-	if (WARN_ON(!gpdev->dev.of_node))
+	/* Not all PCI devices have device-tree nodes */
+	if (!gpdev->dev.of_node)
 		return NULL;
 
 	/* Get assoicated PCI device */