usb: mtu3: avoid sleep in atomic context when enter test mode
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Wed, 23 May 2018 08:53:18 +0000 (16:53 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 May 2018 16:09:37 +0000 (18:09 +0200)
Use readl_poll_timeout_atomic() instead of readl_poll_timeout()
in atomic context

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/mtu3/mtu3_gadget_ep0.c

index 0d2b1cf1d5ea777d9fc3585687aaefab1b08ae5f..25216e79cd6ee1ecf83efa13f23c4caf24353fd0 100644 (file)
@@ -299,7 +299,7 @@ static int handle_test_mode(struct mtu3 *mtu, struct usb_ctrlrequest *setup)
        mtu3_writel(mbase, U3D_EP0CSR, value | EP0_SETUPPKTRDY | EP0_DATAEND);
 
        /* wait for ACK status sent by host */
-       readl_poll_timeout(mbase + U3D_EP0CSR, value,
+       readl_poll_timeout_atomic(mbase + U3D_EP0CSR, value,
                        !(value & EP0_DATAEND), 100, 5000);
 
        mtu3_writel(mbase, U3D_USB2_TEST_MODE, mtu->test_mode_nr);