Commit 7c03621a authored by David Kershner's avatar David Kershner Committed by Greg Kroah-Hartman
Browse files

staging: unisys: Process more than one response per check



When s-Par is in polling mode it checks every 2 ms to see if there is
a response from the IO service partition in the queue. Currently it
just reads one entry per 2 ms, this needs to be changed so it drains
the queue on each check.

Signed-off-by: default avatarDavid Kershner <david.kershner@unisys.com>
Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3abf4f98
Loading
Loading
Loading
Loading
+83 −81
Original line number Diff line number Diff line
@@ -1629,10 +1629,11 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata)

	/* TODO: CLIENT ACQUIRE -- Don't really need this at the
	 * moment */
	for (;;) {
		if (!visorchannel_signalremove(devdata->dev->visorchannel,
					       IOCHAN_FROM_IOPART,
					       cmdrsp))
		return; /* queue empty */
			break; /* queue empty */

		switch (cmdrsp->net.type) {
		case NET_RCV:
@@ -1717,6 +1718,7 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata)
		}
		/* cmdrsp is now available for reuse  */
	}
}

/**
 *	process_incoming_rsps	- Checks the status of the response queue.