2020-05-04 08:54:31

by Dejin Zheng

[permalink] [raw]
Subject: [PATCH net v1] net: rtw88: fix an issue about leak system resources

the related system resources were not released when pci_iomap() return
error in the rtw_pci_io_mapping() function. add pci_release_regions() to
fix it.

Fixes: e3037485c68ec1a ("rtw88: new Realtek 802.11ac driver")
Cc: Andy Shevchenko <[email protected]>
Signed-off-by: Dejin Zheng <[email protected]>
---
drivers/net/wireless/realtek/rtw88/pci.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index 695c2c0d64b0..a9752c34c9d8 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -1102,6 +1102,7 @@ static int rtw_pci_io_mapping(struct rtw_dev *rtwdev,
len = pci_resource_len(pdev, bar_id);
rtwpci->mmap = pci_iomap(pdev, bar_id, len);
if (!rtwpci->mmap) {
+ pci_release_regions(pdev);
rtw_err(rtwdev, "failed to map pci memory\n");
return -ENOMEM;
}
--
2.25.0


2020-05-04 08:57:43

by Tony Chuang

[permalink] [raw]
Subject: RE: [PATCH net v1] net: rtw88: fix an issue about leak system resources

> Subject: [PATCH net v1] net: rtw88: fix an issue about leak system resources
>
> the related system resources were not released when pci_iomap() return
> error in the rtw_pci_io_mapping() function. add pci_release_regions() to
> fix it.
>
> Fixes: e3037485c68ec1a ("rtw88: new Realtek 802.11ac driver")
> Cc: Andy Shevchenko <[email protected]>
> Signed-off-by: Dejin Zheng <[email protected]>
Acked-by: Yan-Hsuan Chuang <[email protected]>
> ---
> drivers/net/wireless/realtek/rtw88/pci.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/pci.c
> b/drivers/net/wireless/realtek/rtw88/pci.c
> index 695c2c0d64b0..a9752c34c9d8 100644
> --- a/drivers/net/wireless/realtek/rtw88/pci.c
> +++ b/drivers/net/wireless/realtek/rtw88/pci.c
> @@ -1102,6 +1102,7 @@ static int rtw_pci_io_mapping(struct rtw_dev
> *rtwdev,
> len = pci_resource_len(pdev, bar_id);
> rtwpci->mmap = pci_iomap(pdev, bar_id, len);
> if (!rtwpci->mmap) {
> + pci_release_regions(pdev);
> rtw_err(rtwdev, "failed to map pci memory\n");
> return -ENOMEM;
> }
> --
> 2.25.0