From: csapuntz Date: Sat, 8 Apr 2000 20:28:07 +0000 (+0000) Subject: Y-E UFI drives don't clear sense on INQUIRY. Upper-layer SCSI drivers X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=e45d5f6f9aa3a98a4bacc7c056daad324246d71e;p=openbsd Y-E UFI drives don't clear sense on INQUIRY. Upper-layer SCSI drivers don't like that too much. Now drive is detected correctly, even without floppy in it. --- diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c index 904c8ee1476..86381953196 100644 --- a/sys/dev/usb/umass.c +++ b/sys/dev/usb/umass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: umass.c,v 1.4 2000/04/08 20:03:34 aaron Exp $ */ +/* $OpenBSD: umass.c,v 1.5 2000/04/08 20:28:07 csapuntz Exp $ */ /* $NetBSD: umass.c,v 1.31 2000/04/03 12:31:34 augustss Exp $ */ /*- * Copyright (c) 1999 MAEKAWA Masahide , @@ -3347,6 +3347,15 @@ umass_scsipi_sense_cb(struct umass_softc *sc, void *priv, int residue, case STATUS_CMD_OK: case STATUS_CMD_UNKNOWN: /* getting sense data succeeded */ + if ((xs->cmd->opcode == INQUIRY) + && (xs->resid < xs->datalen)) { + /* Some drivers return SENSE errors even after INQUIRY + * The upper layer doesn't like that. + */ + xs->error = XS_NOERROR; + break; + } + bytes_received = sizeof(xs->sense) - residue; if (bytes_received < 8 ||