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

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
...@@ -1629,10 +1629,11 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata) ...@@ -1629,10 +1629,11 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata)
/* TODO: CLIENT ACQUIRE -- Don't really need this at the /* TODO: CLIENT ACQUIRE -- Don't really need this at the
* moment */ * moment */
for (;;) {
if (!visorchannel_signalremove(devdata->dev->visorchannel, if (!visorchannel_signalremove(devdata->dev->visorchannel,
IOCHAN_FROM_IOPART, IOCHAN_FROM_IOPART,
cmdrsp)) cmdrsp))
return; /* queue empty */ break; /* queue empty */
switch (cmdrsp->net.type) { switch (cmdrsp->net.type) {
case NET_RCV: case NET_RCV:
...@@ -1716,6 +1717,7 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata) ...@@ -1716,6 +1717,7 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata)
break; break;
} }
/* cmdrsp is now available for reuse */ /* cmdrsp is now available for reuse */
}
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment