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>
        if (err)
                return err;
 
-       err = pci_request_regions(dev, name);
-       if (err)
-               return err;
-
        err = -ENOMEM;
        cfb = cyberpro_alloc_fb_info(id->driver_data, name);
        if (!cfb)
                goto failed_release;
 
+       err = pci_request_regions(dev, cfb->fb.fix.id);
+       if (err)
+               goto failed_regions;
+
        cfb->dev = dev;
        cfb->region = pci_ioremap_bar(dev, 0);
        if (!cfb->region)
 failed:
        iounmap(cfb->region);
 failed_ioremap:
+       pci_release_regions(dev);
+failed_regions:
        cyberpro_free_fb_info(cfb);
 failed_release:
-       pci_release_regions(dev);
-
        return err;
 }