diff options
Diffstat (limited to 'sys/dev/twe/twe.c')
| -rw-r--r-- | sys/dev/twe/twe.c | 6 |
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) */ |
