lkml.org 
[lkml]   [2019]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 071/183] net: stmmac: Fix PCI module removal leak
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 6dea7e1881fd86b80da64e476ac398008daed857 ]

    Since commit b7d0f08e9129, the enable / disable of PCI device is not
    managed which will result in IO regions not being automatically unmapped.
    As regions continue mapped it is currently not possible to remove and
    then probe again the PCI module of stmmac.

    Fix this by manually unmapping regions on remove callback.

    Changes from v1:
    - Fix build error

    Cc: Joao Pinto <jpinto@synopsys.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
    Cc: Alexandre Torgue <alexandre.torgue@st.com>
    Fixes: b7d0f08e9129 ("net: stmmac: Fix WoL for PCI-based setups")
    Signed-off-by: Jose Abreu <joabreu@synopsys.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
    index c54a50dbd5ac2..d819e8eaba122 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
    @@ -299,7 +299,17 @@ static int stmmac_pci_probe(struct pci_dev *pdev,
    */
    static void stmmac_pci_remove(struct pci_dev *pdev)
    {
    + int i;
    +
    stmmac_dvr_remove(&pdev->dev);
    +
    + for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
    + if (pci_resource_len(pdev, i) == 0)
    + continue;
    + pcim_iounmap_regions(pdev, BIT(i));
    + break;
    + }
    +
    pci_disable_device(pdev);
    }

    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-25 22:44    [W:4.164 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site