Re: [8/many] acrypto: crypto_dev.c

Nish Aravamudan
2005-03-08T01:45:20Z

On Mon, 7 Mar 2005 23:37:34 +0300, Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> --- /tmp/empty/crypto_dev.c 1970-01-01 03:00:00.000000000 +0300
> +++ ./acrypto/crypto_dev.c 2005-03-07 20:35:36.000000000 +0300
> @@ -0,0 +1,421 @@
> +/*
> + * crypto_dev.c

<snip>

> + while (atomic_read(&__dev->refcnt)) {
> +
> + dprintk(KERN_INFO "Waiting for %s to become free: refcnt=%d.\n",
> + __dev->name, atomic_read(&dev->refcnt));
> +
> + /*
> + * Hack zone: you need to write good ->data_ready()
> + * and crypto device driver itself.
> + *
> + * Driver shoud not buzz if it has pending sessions
> + * in it's queue and it was removed from global device list.
> + *
> + * Although I can workaround it here, for example by
> + * flushing the whole queue and drop all pending sessions.
> + */
> +
> + __dev->data_ready(__dev);
> + set_current_state(TASK_UNINTERRUPTIBLE);
> + schedule_timeout(HZ);

I don't see any wait-queues in the immediate area of this code. Can
this be an ssleep(1)?

Thanks,
Nish