--- tws.h (revision 256870) +++ tws.h (working copy) @@ -248,7 +248,6 @@ struct mtx io_lock; /* IO lock */ struct tws_ioctl_lock ioctl_lock; /* ioctl lock */ u_int32_t seq_id; /* Sequence id */ - void *chan; /* IOCTL req wait channel */ struct tws_circular_q aen_q; /* aen q */ struct tws_circular_q trace_q; /* trace q */ struct tws_stats stats; /* I/O stats */ --- tws_cam.c (revision 256870) +++ tws_cam.c (working copy) @@ -1297,7 +1297,7 @@ tws_turn_on_interrupts(sc); - wakeup_one(sc->chan); + wakeup_one(sc); } --- tws_user.c (revision 256870) +++ tws_user.c (working copy) @@ -103,8 +103,7 @@ do { req = tws_get_request(sc, TWS_REQ_TYPE_PASSTHRU); if ( !req ) { - sc->chan = (void *)sc; - error = tsleep(sc->chan, 0, "tws_sleep", TWS_IOCTL_TIMEOUT*hz); + error = tsleep(sc, 0, "tws_sleep", TWS_IOCTL_TIMEOUT*hz); if ( error == EWOULDBLOCK ) { return(ETIMEDOUT); } @@ -203,7 +202,7 @@ // req->state = TWS_REQ_STATE_FREE; - wakeup_one(sc->chan); + wakeup_one(sc); return(error); }