summaryrefslogtreecommitdiff
path: root/sys/dev/twe/twe.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/twe/twe.c')
-rw-r--r--sys/dev/twe/twe.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/twe/twe.c b/sys/dev/twe/twe.c
index 1419d4ffa836..97778ad839b8 100644
--- a/sys/dev/twe/twe.c
+++ b/sys/dev/twe/twe.c
@@ -439,9 +439,13 @@ twe_startio(struct twe_softc *sc)
if (bp->bio_cmd == BIO_READ) {
tr->tr_flags |= TWE_CMD_DATAIN;
cmd->io.opcode = TWE_OP_READ;
- } else {
+ } else if (bp->bio_cmd == BIO_WRITE) {
tr->tr_flags |= TWE_CMD_DATAOUT;
cmd->io.opcode = TWE_OP_WRITE;
+ } else {
+ twe_release_request(tr);
+ biofinish(bp, NULL, EOPNOTSUPP);
+ break;
}
/* build a suitable I/O command (assumes 512-byte rounded transfers) */