- struct osst_tape * STp = container_of(SCpnt->request->rq_disk->private_data, struct osst_tape, driver);
-
- if ((STp->buffer)->writing &&
- (SCpnt->sense_buffer[0] & 0x70) == 0x70 &&
- (SCpnt->sense_buffer[2] & 0x40)) {
- /* EOM at write-behind, has all been written? */
- if ((SCpnt->sense_buffer[2] & 0x0f) == VOLUME_OVERFLOW)
- STp->buffer->midlevel_result = SCpnt->result; /* Error */
- else
- STp->buffer->midlevel_result = INT_MAX; /* OK */
- }
- else
- STp->buffer->midlevel_result = SCpnt->result;
- SCpnt->request->rq_status = RQ_SCSI_DONE;
- STp->buffer->last_SRpnt = SCpnt->sc_request;