crypto: caam - get rid of tasklet
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 8 Aug 2016 17:05:24 +0000 (18:05 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 9 Aug 2016 10:47:28 +0000 (18:47 +0800)
commit66d2e2028091a074aa1290d2eeda5ddb1a6c329c
treea5decf16bd35101d031defcce9f9c095649c4e33
parent65cf164a4afab86b9d26c063bc4cef5432b52021
crypto: caam - get rid of tasklet

Threaded interrupts can perform the function of the tasklet, and much
more safely too - without races when trying to take the tasklet and
interrupt down on device removal.

With the old code, there is a window where we call tasklet_kill().  If
the interrupt handler happens to be running on a different CPU, and
subsequently calls tasklet_schedule(), the tasklet will be re-scheduled
for execution.

Switching to a hardirq/threadirq combination implementation avoids this,
and it also means generic code deals with the teardown sequencing of the
threaded and non-threaded parts.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/intern.h
drivers/crypto/caam/jr.c