• Xiongfeng Wang's avatar
    hwrng: geode - Fix PCI device refcount leak · 9f6ec8dc
    Xiongfeng Wang authored
    for_each_pci_dev() is implemented by pci_get_device(). The comment of
    pci_get_device() says that it will increase the reference count for the
    returned pci_dev and also decrease the reference count for the input
    pci_dev @from if it is not NULL.
    
    If we break for_each_pci_dev() loop with pdev not NULL, we need to call
    pci_dev_put() to decrease the reference count. We add a new struct
    'amd_geode_priv' to record pointer of the pci_dev and membase, and then
    add missing pci_dev_put() for the normal and error path.
    
    Fixes: ef5d8627 ("[PATCH] Add Geode HW RNG driver")
    Signed-off-by: default avatarXiongfeng Wang <wangxiongfeng2@huawei.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    9f6ec8dc
geode-rng.c 3.37 KB