Page MenuHomeFreeBSD

D61416.1794450977.diff
No OneTemporary

Authored By
Unknown
Size
704 B
Referenced Files
None
Subscribers
None

D61416.1794450977.diff

diff --git a/sys/cam/scsi/scsi_pass.c b/sys/cam/scsi/scsi_pass.c
--- a/sys/cam/scsi/scsi_pass.c
+++ b/sys/cam/scsi/scsi_pass.c
@@ -2074,11 +2074,14 @@
/*
* If this is not a queued CCB (i.e. it is an immediate CCB),
* then it is already done. We need to put it on the done
- * queue for the user to fetch.
+ * queue for the user to fetch, and notify any waiters so
+ * they know there is a completed CCB to collect.
*/
if ((fc & XPT_FC_QUEUED) == 0) {
TAILQ_REMOVE(&softc->active_queue, io_req, links);
TAILQ_INSERT_TAIL(&softc->done_queue, io_req, links);
+ selwakeuppri(&softc->read_select, PRIBIO);
+ KNOTE_LOCKED(&softc->read_select.si_note, 0);
}
break;

File Metadata

Mime Type
text/plain
Expires
Thu, Nov 12, 2:36 AM (1 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41667031
Default Alt Text
D61416.1794450977.diff (704 B)

Event Timeline