mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
mtd: maps: l440gx: Fix double put of the PM device in init_l440gx()
The PIIX4 PM device reference taken with pci_get_device() is dropped
again before the iobase resource is allocated. If pci_assign_resource()
fails, the error path calls pci_dev_put() on pm_dev a second time,
releasing a reference that is no longer owned and underflowing the
reference count.
Remove the extra pci_dev_put().
Fixes: dd8e9ed6ed ("[MTD] Switch to pci_get_device and do ref counting")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
521ad948e0
commit
e6ca524ee5
|
|
@ -110,7 +110,6 @@ static int __init init_l440gx(void)
|
|||
|
||||
/* Allocate the resource region */
|
||||
if (pci_assign_resource(pm_dev, PIIXE_IOBASE_RESOURCE) != 0) {
|
||||
pci_dev_put(pm_dev);
|
||||
printk(KERN_WARNING "Could not allocate pm iobase resource\n");
|
||||
iounmap(l440gx_map.virt);
|
||||
return -ENXIO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user