Hi!

> > Well, Frank was wrong here for subtle reason, and I did not like it:
> >
> > If malloc failed (basically can not happen, but...) he'd suspend,
> > anyway, failing to restore PCI config at the exit, and bringing video
> > corruption back to us... Without knowing that pci save state failed.
> You are absolutly right, this wan't that nice. But it still could happen, 
> that find_vga returns NULL (eventhoug of course this is now very unlikely)
> and furthermore we now have a second global variable for
> the same thing (global static pointer to global static struct).
> 
> So, i did a further cleanup to this patch. This version has only one global
> struct for the vga_dev and terminates execution if vga_dev 
> couldn't be found.

If you can get me version relative to current cvs,

> +     for (dev=pacc->devices; dev; dev=dev->next) {
> +             pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_CLASS);
> +             if (dev->device_class == 0x300)
> +                     break;
> +     }
> +
> +        if (!dev)
> +                return 1;
> +
> +     memcpy(&vga_dev, dev, sizeof(*dev));
> +     vga_dev.next = NULL;
> +
> +     return 0;

Fix the whitespace damage here, and fix an error
convention... (find_vga suggests 1 or success... so either reverse the
logic, or better make it 0 / -ENOFOUND or something).

-171,6 +209,17 @@ int s2ram_hacks(void)
>               printf("Calling radeon_cmd_light(0)\n");
>               radeon_cmd_light(0);
>       }
> +     if (flags & PCI_SAVE) {
> +             pacc = pci_alloc();     /* Get the pci_access structure */
> +             pci_init(pacc);         /* Initialize the PCI library */
> +
> +             if (find_vga() == 0) {
> +                     printf("saving PCI config of device %02x:%02x.%d\n",
> +                             vga_dev.bus, vga_dev.dev, vga_dev.func);
> +                     save_vga_pci();
> +             } else
> +                     return 1;
> +     }
>  
>       return 0;
>  }

And now we propagate error back. good.
                                                                        Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to