summaryrefslogtreecommitdiff
path: root/sys/dev/pcmcia/pcmcia.c
diff options
context:
space:
mode:
authorbriggs <briggs@cvs.openbsd.org>1996-01-14 21:44:31 +0000
committerbriggs <briggs@cvs.openbsd.org>1996-01-14 21:44:31 +0000
commit431724c0fbbfa636c72a978587ddc06d8ee3b114 (patch)
tree8d59958cac3ed495eefb18e2de35a93e99160db6 /sys/dev/pcmcia/pcmcia.c
parent0fb02d5a856594b81d3674e5f3647302ff3689e5 (diff)
From NetBSD: (required for last change to scsi_base.c in case we get
"command aborted" status) Handle cases like the following: - controller calls scsi_done() with error XS_TIMEOUT - scsi_done() calls sddone() - sddone() calls disk_unbusy() - scsi_done() calls controller to retry command (missing the call to disk_busy()) - controller calls scsi_done() - scsi_done() calls sddone() - sddone() calls disk_busy(), which panics because of the imbalance. Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional boolean argument ("complete") to the device's "done" routine, with a value of `0' passed from the previous call to "done", and add an additional call to "done" when the xfer resources are freed.
Diffstat (limited to 'sys/dev/pcmcia/pcmcia.c')
0 files changed, 0 insertions, 0 deletions