Don't use tsleep() in attach, use delay()
This change makes the driver work properly for the following card, which used to function a bit weird: eap0 at pci0 dev 10 function 0: Ensoniq CT5880 CT5880C (rev. 0x02) eap0: interrupting at irq 9 eap0: TriTech TR28602 codec; no 3D stereo
This commit is contained in:
parent
ac422fecfe
commit
fa8ee3bb1c
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: eap.c,v 1.58 2002/11/24 12:06:12 scw Exp $ */
|
/* $NetBSD: eap.c,v 1.59 2002/11/30 00:20:02 pooka Exp $ */
|
||||||
/* $OpenBSD: eap.c,v 1.6 1999/10/05 19:24:42 csapuntz Exp $ */
|
/* $OpenBSD: eap.c,v 1.6 1999/10/05 19:24:42 csapuntz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: eap.c,v 1.58 2002/11/24 12:06:12 scw Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: eap.c,v 1.59 2002/11/30 00:20:02 pooka Exp $");
|
||||||
|
|
||||||
#include "midi.h"
|
#include "midi.h"
|
||||||
|
|
||||||
|
@ -688,7 +688,7 @@ eap_attach(struct device *parent, struct device *self, void *aux)
|
||||||
if (ct5880) {
|
if (ct5880) {
|
||||||
EWRITE4(sc, EAP_ICSS, EAP_CT5880_AC97_RESET);
|
EWRITE4(sc, EAP_ICSS, EAP_CT5880_AC97_RESET);
|
||||||
/* Let codec wake up */
|
/* Let codec wake up */
|
||||||
tsleep(sc, PRIBIO, "eapcdc", hz / 20);
|
delay(20000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset from es1371's perspective */
|
/* Reset from es1371's perspective */
|
||||||
|
|
Loading…
Reference in New Issue