> I applied the patches, and I still have the same results on my laptop.
> 
> I have a Dell Latitude C640 and my screen won't come back after a suspend.
> The machine works fine besides that.

OK, I think this is not related with ACPI CA code update.
Our device driver (maybe syscons?) or X server issue.

> Do you have any idea/advice how this can be debugged?

If you have this problem w/ X running, and don't have w/o X,
please try attached patches.

Thanks

Index: isa/syscons_isa.c
===================================================================
RCS file: /home/ncvs/src/sys/isa/syscons_isa.c,v
retrieving revision 1.17
diff -u -r1.17 syscons_isa.c
--- isa/syscons_isa.c   30 Jun 2001 10:15:06 -0000      1.17
+++ isa/syscons_isa.c   16 Feb 2002 13:11:50 -0000
@@ -88,6 +88,39 @@
        return sc_attach_unit(device_get_unit(dev), device_get_flags(dev));
 }
 
+static int     sc_cur_scr;
+
+static int
+scsuspend(device_t dev)
+{
+       int             retry = 10;
+       static int      dummy;
+       sc_softc_t      *sc;
+
+       sc = &main_softc;
+       sc_cur_scr = sc->cur_scp->index;
+       do {
+               sc_switch_scr(sc, 0);
+               if (!sc->switch_in_progress) {
+                       break;
+               }
+               tsleep(&dummy, 0, "scsuspend", 100);
+       } while (retry--);
+
+       return (0);
+}
+
+static int
+scresume(device_t dev)
+{
+       sc_softc_t      *sc;
+
+       sc = &main_softc;
+       sc_switch_scr(sc, sc_cur_scr);
+
+       return (0);
+}
+
 int
 sc_max_unit(void)
 {
@@ -230,6 +263,8 @@
        DEVMETHOD(device_identify,      scidentify),
        DEVMETHOD(device_probe,         scprobe),
        DEVMETHOD(device_attach,        scattach),
+       DEVMETHOD(device_suspend,       scsuspend),
+       DEVMETHOD(device_resume,        scresume),
        { 0, 0 }
 };
 

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to