On 12/06/11 09:52, Mark Kettenis wrote:
>> 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
> 
> 

With that diff applied, X will start up just fine, kernel of Dec 6, 2011.

Reply via email to