Commit 08305b45 authored by Chunfeng Yun's avatar Chunfeng Yun Committed by Greg Kroah-Hartman
Browse files

usb: isp1760-hcd: convert to readl_poll_timeout_atomic()

parent e7d8263b
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include <linux/debugfs.h>
#include <linux/uaccess.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/mm.h>
#include <linux/timer.h>
#include <asm/unaligned.h>
@@ -380,18 +381,15 @@ static int handshake(struct usb_hcd *hcd, u32 reg,
		      u32 mask, u32 done, int usec)
{
	u32 result;
	int ret;

	do {
		result = reg_read32(hcd->regs, reg);
		if (result == ~0)
	ret = readl_poll_timeout_atomic(hcd->regs + reg, result,
					((result & mask) == done ||
					 result == U32_MAX), 1, usec);
	if (result == U32_MAX)
		return -ENODEV;
		result &= mask;
		if (result == done)
			return 0;
		udelay(1);
		usec--;
	} while (usec > 0);
	return -ETIMEDOUT;

	return ret;
}

/* reset a non-running (STS_HALT == 1) controller */