lkml.org 
[lkml]   [2022]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 292/545] misc: rtsx: Fix an error handling path in rtsx_pci_probe()
    Date
    From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    [ Upstream commit 44fd1917314e9d4f53dd95dd65df1c152f503d3a ]

    If an error occurs after a successful idr_alloc() call, the corresponding
    resource must be released with idr_remove() as already done in the .remove
    function.

    Update the error handling path to add the missing idr_remove() call.

    Fixes: ada8a8a13b13 ("mfd: Add realtek pcie card reader driver")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Link: https://lore.kernel.org/r/e8dc41716cbf52fb37a12e70d8972848e69df6d6.1655271216.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/misc/cardreader/rtsx_pcr.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c
    index 5d15607027e9..358b000b3a55 100644
    --- a/drivers/misc/cardreader/rtsx_pcr.c
    +++ b/drivers/misc/cardreader/rtsx_pcr.c
    @@ -1529,7 +1529,7 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
    pcr->remap_addr = ioremap(base, len);
    if (!pcr->remap_addr) {
    ret = -ENOMEM;
    - goto free_handle;
    + goto free_idr;
    }

    pcr->rtsx_resv_buf = dma_alloc_coherent(&(pcidev->dev),
    @@ -1591,6 +1591,10 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
    pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr);
    unmap:
    iounmap(pcr->remap_addr);
    +free_idr:
    + spin_lock(&rtsx_pci_lock);
    + idr_remove(&rtsx_pci_idr, pcr->id);
    + spin_unlock(&rtsx_pci_lock);
    free_handle:
    kfree(handle);
    free_pcr:
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-19 18:23    [W:2.623 / U:1.720 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site