[PATCH net] can: ctucanfd: unmap BAR0 using base address

Avi Weiss posted 1 patch 1 day, 11 hours ago
drivers/net/can/ctucanfd/ctucanfd_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH net] can: ctucanfd: unmap BAR0 using base address
Posted by Avi Weiss 1 day, 11 hours ago
BAR0 is mapped into bar0_base, while cra_addr points to an offset
within that mapping and is used for other purposes.

Pass bar0_base to pci_iounmap(), instead of cra_addr, on the probe error
path so the address returned by pci_iomap() is used for unmapping.

Fixes: 792a5b678e81 ("can: ctucanfd: CTU CAN FD open-source IP core - PCI bus support.")
Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
---
 drivers/net/can/ctucanfd/ctucanfd_pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/can/ctucanfd/ctucanfd_pci.c b/drivers/net/can/ctucanfd/ctucanfd_pci.c
index 625788fa8976..f845951c5d51 100644
--- a/drivers/net/can/ctucanfd/ctucanfd_pci.c
+++ b/drivers/net/can/ctucanfd/ctucanfd_pci.c
@@ -194,7 +194,7 @@ static int ctucan_pci_probe(struct pci_dev *pdev,
 	pci_set_drvdata(pdev, NULL);
 	kfree(bdata);
 err_pci_iounmap_bar0:
-	pci_iounmap(pdev, cra_addr);
+	pci_iounmap(pdev, bar0_base);
 err_pci_iounmap_bar1:
 	pci_iounmap(pdev, addr);
 err_release_regions:
-- 
2.43.0
Re: [PATCH net] can: ctucanfd: unmap BAR0 using base address
Posted by Pavel Pisa 1 day, 11 hours ago
Hello Avi,

thanks for correction.

On Thursday 23 of July 2026 11:59:34 Avi Weiss wrote:
> BAR0 is mapped into bar0_base, while cra_addr points to an offset
> within that mapping and is used for other purposes.
>
> Pass bar0_base to pci_iounmap(), instead of cra_addr, on the probe error
> path so the address returned by pci_iomap() is used for unmapping.
>
> Fixes: 792a5b678e81 ("can: ctucanfd: CTU CAN FD open-source IP core - PCI
> bus support.") Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
> ---
>  drivers/net/can/ctucanfd/ctucanfd_pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/ctucanfd/ctucanfd_pci.c
> b/drivers/net/can/ctucanfd/ctucanfd_pci.c index 625788fa8976..f845951c5d51
> 100644
> --- a/drivers/net/can/ctucanfd/ctucanfd_pci.c
> +++ b/drivers/net/can/ctucanfd/ctucanfd_pci.c
> @@ -194,7 +194,7 @@ static int ctucan_pci_probe(struct pci_dev *pdev,
>  	pci_set_drvdata(pdev, NULL);
>  	kfree(bdata);
>  err_pci_iounmap_bar0:
> -	pci_iounmap(pdev, cra_addr);
> +	pci_iounmap(pdev, bar0_base);
>  err_pci_iounmap_bar1:
>  	pci_iounmap(pdev, addr);
>  err_release_regions:

Acked-by: Pavel Pisa <pisa@fel.cvut.cz>

CRA has been on the start in initial PCIe integrated
version and when it has been shifted the switch
of the name has been done incorrectly for pci_iounmap

Best wishes,

                Pavel Pisa
    phone:      +420 603531357
    e-mail:     pisa@cmp.felk.cvut.cz
    Department of Control Engineering FEE CVUT
    Karlovo namesti 13, 121 35, Prague 2
    university: http://control.fel.cvut.cz/
    personal:   http://cmp.felk.cvut.cz/~pisa
    social:     https://social.kernel.org/ppisa
    projects:   https://www.openhub.net/accounts/ppisa
    CAN related:http://canbus.pages.fel.cvut.cz/
    RISC-V education: https://comparch.edu.cvut.cz/
    Open Technologies Research Education and Exchange Services
    https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home