diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-08-08 19:05:24 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-08-09 12:47:28 +0200 |
commit | 66d2e2028091a074aa1290d2eeda5ddb1a6c329c (patch) | |
tree | a5decf16bd35101d031defcce9f9c095649c4e33 /drivers/crypto/caam/intern.h | |
parent | crypto: caam - add ahash_edesc_add_src() (diff) | |
download | linux-66d2e2028091a074aa1290d2eeda5ddb1a6c329c.tar.xz linux-66d2e2028091a074aa1290d2eeda5ddb1a6c329c.zip |
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>
Diffstat (limited to 'drivers/crypto/caam/intern.h')
-rw-r--r-- | drivers/crypto/caam/intern.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/crypto/caam/intern.h b/drivers/crypto/caam/intern.h index e2bcacc1a921..5d4c05074a5c 100644 --- a/drivers/crypto/caam/intern.h +++ b/drivers/crypto/caam/intern.h @@ -41,7 +41,6 @@ struct caam_drv_private_jr { struct device *dev; int ridx; struct caam_job_ring __iomem *rregs; /* JobR's register space */ - struct tasklet_struct irqtask; int irq; /* One per queue */ /* Number of scatterlist crypt transforms active on the JobR */ |