mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 03:06:10 +00:00
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: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
e8b8f5ef90
commit
ed5a35acbb
1 changed files with 6 additions and 6 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue