--- src/sys/dev/pccard/pccbb/pccbb.c 2005/10/12 17:35:54 1.11 +++ src/sys/dev/pccard/pccbb/pccbb.c 2005/12/19 01:18:58 1.12 @@ -79,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -803,7 +804,7 @@ cbb_setup_intr(device_t dev, device_t ch *cookiep = ih; ih->intr = intr; ih->arg = arg; - KKASSERT(serializer == NULL); /* not yet supported */ + ih->serializer = serializer; STAILQ_INSERT_TAIL(&sc->intr_handlers, ih, entries); /* * XXX we should do what old card does to ensure that we don't @@ -1057,7 +1058,13 @@ cbb_intr(void *arg) } if (sc->flags & CBB_CARD_OK) { STAILQ_FOREACH(ih, &sc->intr_handlers, entries) { - (*ih->intr)(ih->arg); + if (ih->serializer) { + lwkt_serialize_handler_call(ih->serializer, + (inthand2_t *)ih->intr, + ih->arg, NULL); + } else { + (*ih->intr)(ih->arg); + } } }