Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 925d34df authored by Raghavendra Rao Ananta's avatar Raghavendra Rao Ananta Committed by Elliot Berman
Browse files

ufs: ufshcd: Prevent sleeping in IRQ context



Few paths from the ufshcd driver is allowing the IRQ
handler path to go to sleep, which is incorrect. Hence,
prevent them from going to sleep by switching to GFP_ATOMIC
(instead of GFP_KERNEL), and disabling the path to dump
the registers.

Change-Id: Id8ed3e659e9e22b41fa0956543423824c66bf511
Signed-off-by: default avatarRaghavendra Rao Ananta <rananta@codeaurora.org>
parent 844cb3e3
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
	if (offset % 4 != 0 || len % 4 != 0) /* keep readl happy */
		return -EINVAL;

	regs = kzalloc(len, GFP_KERNEL);
	regs = kzalloc(len, GFP_ATOMIC);
	if (!regs)
		return -ENOMEM;

@@ -431,8 +431,6 @@ static void ufshcd_print_host_regs(struct ufs_hba *hba)

	ufshcd_print_clk_freqs(hba);

	if (hba->vops && hba->vops->dbg_register_dump)
		hba->vops->dbg_register_dump(hba);
}

static