Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed5a35ac authored by Russell King's avatar Russell King
Browse files

VIDEO: cyberpro: pci_request_regions needs a persistent name



Don't pass a name pointer from the kernel stack, it will not survive
and will result in corrupted /proc/iomem output.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent e8b8f5ef
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -1573,15 +1573,15 @@ cyberpro_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
	if (err)
	if (err)
		return err;
		return err;


	err = pci_request_regions(dev, name);
	if (err)
		return err;

	err = -ENOMEM;
	err = -ENOMEM;
	cfb = cyberpro_alloc_fb_info(id->driver_data, name);
	cfb = cyberpro_alloc_fb_info(id->driver_data, name);
	if (!cfb)
	if (!cfb)
		goto failed_release;
		goto failed_release;


	err = pci_request_regions(dev, cfb->fb.fix.id);
	if (err)
		goto failed_regions;

	cfb->dev = dev;
	cfb->dev = dev;
	cfb->region = pci_ioremap_bar(dev, 0);
	cfb->region = pci_ioremap_bar(dev, 0);
	if (!cfb->region)
	if (!cfb->region)
@@ -1633,10 +1633,10 @@ cyberpro_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
failed:
failed:
	iounmap(cfb->region);
	iounmap(cfb->region);
failed_ioremap:
failed_ioremap:
	pci_release_regions(dev);
failed_regions:
	cyberpro_free_fb_info(cfb);
	cyberpro_free_fb_info(cfb);
failed_release:
failed_release:
	pci_release_regions(dev);

	return err;
	return err;
}
}