|
@@ -234,6 +234,12 @@ int saa7164_cmd_wait(struct saa7164_dev *dev, u8 seqno)
|
|
|
__func__, seqno, dev->cmds[seqno].signalled);
|
|
|
|
|
|
/* Wait for signalled to be flagged or timeout */
|
|
|
+ /* In a highly stressed system this can easily extend
|
|
|
+ * into multiple seconds before the deferred worker
|
|
|
+ * is scheduled, and we're woken up via signal.
|
|
|
+ * We typically are signalled in < 50ms but it can
|
|
|
+ * take MUCH longer.
|
|
|
+ */
|
|
|
wait_event_timeout(*q, dev->cmds[seqno].signalled, (HZ * waitsecs));
|
|
|
r = time_before(jiffies, stamp + (HZ * waitsecs));
|
|
|
if (r)
|