Hi all! I have a question regarding the use of the backlog in a driver using the crypto API. In my driver ("crypto: sahara - SHA support") I had a problem with using the backlog when I am using more than one thread to enqueue the requests and have a queue depth of 1. What happens is, that I run into the backlog and then complete the request twice, if I do it like all the other drivers. Random example: backlog = crypto_get_backlog(&sdcp->queue[chan]); arq = crypto_dequeue_request(&sdcp->queue[chan]); if (backlog) backlog->complete(backlog, -EINPROGRESS); Everything works fine if I do not complete the request from the backlog, but instead complete the request when it is due. Alternative: make the queue deeper like some drivers have it. If the queue is deeper than I have threads, it works, because the requests never get onto the backlog. So, how is the queue intended to be used? What is a correct max_depth? Do I need to complete the requests from the backlog or not? Thanks, Steffen -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html