Commit d3703ef3 authored by Changbin Du's avatar Changbin Du Committed by Mike Snitzer
Browse files

dm crypt: use in_hardirq() instead of deprecated in_irq()

parent 17bfa968
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2223,11 +2223,11 @@ static void kcryptd_queue_crypt(struct dm_crypt_io *io)
	if ((bio_data_dir(io->base_bio) == READ && test_bit(DM_CRYPT_NO_READ_WORKQUEUE, &cc->flags)) ||
	    (bio_data_dir(io->base_bio) == WRITE && test_bit(DM_CRYPT_NO_WRITE_WORKQUEUE, &cc->flags))) {
		/*
		 * in_irq(): Crypto API's skcipher_walk_first() refuses to work in hard IRQ context.
		 * in_hardirq(): Crypto API's skcipher_walk_first() refuses to work in hard IRQ context.
		 * irqs_disabled(): the kernel may run some IO completion from the idle thread, but
		 * it is being executed with irqs disabled.
		 */
		if (in_irq() || irqs_disabled()) {
		if (in_hardirq() || irqs_disabled()) {
			tasklet_init(&io->tasklet, kcryptd_crypt_tasklet, (unsigned long)&io->work);
			tasklet_schedule(&io->tasklet);
			return;