On Fri, Jan 16, 2004 at 08:38:21AM +0900, Yoichi Yuasa wrote: > +static int pccard_register_callback(unsigned int slot, > + void (*handler)(void *, unsigned int), > + void *info) > +{ > + vrc4171_socket_t *socket; > + > + if (slot >= CARD_MAX_SLOTS) > + return -EINVAL; > + > + socket = &vrc4171_sockets[slot]; > + > + socket->handler = handler; > + socket->info = info; > + > + if (handler) > + MOD_INC_USE_COUNT; > + else > + MOD_DEC_USE_COUNT; > + > + return 0; > +} This is most certainly wrong. Module refcounting handling has moved one layer up in 2.6.