> Date: Tue, 6 Dec 2011 08:00:57 -0500
> From: Stuart Cassoff <s...@bell.net>
> 
> On 12/06/11 06:28, Mark Kettenis wrote:
> >> Date: Mon, 5 Dec 2011 16:21:23 -0500
> >> From: Stuart Cassoff <s...@bell.net>
> >>
> >>    Ever since the commit of 2011/04/15
> >>    (http://marc.info/?l=openbsd-cvs&m=130291453723298) which
> >>    enables intr_shared_edge, X will hang on startup if radeom drm
> >>    is enabled.  I have tested many kernels and have pinpointed it
> >>    to this.  I am able to make it work with the snapshots of Dec
> >>    1, 2011 and kernel as of today, Dec 5, 2011, with the small
> >>    change detailed below.
> > 
> > What happens if you disable esa(4)?
> 
> With esa(4) disabled, X will start up just fine, kernel snapshot of Dec 1, 
> 2011.

Great!  Can you try the attached diff?

Index: esa.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/esa.c,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 esa.c
--- esa.c       3 Apr 2011 15:36:02 -0000       1.23
+++ esa.c       6 Dec 2011 14:51:04 -0000
@@ -874,7 +874,7 @@ esa_intr(void *hdl)
        u_int32_t diff;
        u_int32_t play_blksize, play_bufsize;
        u_int32_t rec_blksize, rec_bufsize;
-       int i;
+       int i, claimed = 0;
 
        status = bus_space_read_1(iot, ioh, ESA_HOST_INT_STATUS);
        if (status == 0xff)
@@ -901,6 +901,7 @@ esa_intr(void *hdl)
                        break;
                }
                bus_space_write_1(iot, ioh, ESA_HW_VOL_COUNTER_MASTER, 0x88);
+               claimed = 1;
        }
 
        if (status & ESA_ASSP_INT_PENDING) {
@@ -945,9 +946,10 @@ esa_intr(void *hdl)
                                }
                        }
                }
+               claimed = 1;
        }
 
-       return (1);
+       return (claimed);
 }
 
 int

Reply via email to