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

Commit 205845ef authored by Bin Liu's avatar Bin Liu Committed by Felipe Balbi
Browse files

usb: musb: only set test mode once



The MUSB test mode register can only be set once, otherwise the result
is undefined.

This prevents the debugfs testmode entry to set the register more than
once which causes test failure.

Signed-off-by: default avatarBin Liu <b-liu@ti.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent d72348fb
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -191,9 +191,16 @@ static ssize_t musb_test_mode_write(struct file *file,
{
	struct seq_file		*s = file->private_data;
	struct musb		*musb = s->private;
	u8			test = 0;
	u8			test;
	char			buf[18];

	test = musb_readb(musb->mregs, MUSB_TESTMODE);
	if (test) {
		dev_err(musb->controller, "Error: test mode is already set. "
			"Please do USB Bus Reset to start a new test.\n");
		return count;
	}

	memset(buf, 0x00, sizeof(buf));

	if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))