Commit ed5a35acbb48d512332a53565e6341c65eecfa29
1 parent
e8b8f5ef90
Exists in
master
and in
7 other branches
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>
Showing 1 changed file with 6 additions and 6 deletions Side-by-side Diff
drivers/video/cyber2000fb.c
... | ... | @@ -1573,15 +1573,15 @@ |
1573 | 1573 | if (err) |
1574 | 1574 | return err; |
1575 | 1575 | |
1576 | - err = pci_request_regions(dev, name); | |
1577 | - if (err) | |
1578 | - return err; | |
1579 | - | |
1580 | 1576 | err = -ENOMEM; |
1581 | 1577 | cfb = cyberpro_alloc_fb_info(id->driver_data, name); |
1582 | 1578 | if (!cfb) |
1583 | 1579 | goto failed_release; |
1584 | 1580 | |
1581 | + err = pci_request_regions(dev, cfb->fb.fix.id); | |
1582 | + if (err) | |
1583 | + goto failed_regions; | |
1584 | + | |
1585 | 1585 | cfb->dev = dev; |
1586 | 1586 | cfb->region = pci_ioremap_bar(dev, 0); |
1587 | 1587 | if (!cfb->region) |
1588 | 1588 | |
... | ... | @@ -1633,10 +1633,10 @@ |
1633 | 1633 | failed: |
1634 | 1634 | iounmap(cfb->region); |
1635 | 1635 | failed_ioremap: |
1636 | + pci_release_regions(dev); | |
1637 | +failed_regions: | |
1636 | 1638 | cyberpro_free_fb_info(cfb); |
1637 | 1639 | failed_release: |
1638 | - pci_release_regions(dev); | |
1639 | - | |
1640 | 1640 | return err; |
1641 | 1641 | } |
1642 | 1642 |