> Date: Tue, 6 Dec 2011 08:00:57 -0500
> From: Stuart Cassoff <[email protected]>
>
> On 12/06/11 06:28, Mark Kettenis wrote:
> >> Date: Mon, 5 Dec 2011 16:21:23 -0500
> >> From: Stuart Cassoff <[email protected]>
> >>
> >> 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