> +static int dm_bufio_trylock(struct dm_bufio_client *c) > +{ > + return dm_bufio_trylock(c); > +} > + > +static void dm_bufio_unlock(struct dm_bufio_client *c) > +{ > + dm_bufio_unlock(c); > +} These two functions are recursive nonsense :) There should be "return mutex_trylock(&c->lock);" and "mutex_unlock(&c->lock);". Mikulas