diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-22 17:34:15 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-22 17:34:15 -0700 | 
| commit | c70b5296e775cde46cfcb2d860ba160108a5ec7a (patch) | |
| tree | 30419cb982acca44499236adcca65f2f87698c74 /drivers/scsi/st.c | |
| parent | 80c226fbef56576946c9655fcb2ab62e63404d12 (diff) | |
| parent | 58ff4bd042adf8013c8f70fd03c2c0f8d022e387 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (84 commits)
  [SCSI] be2iscsi: SGE Len == 64K
  [SCSI] be2iscsi: Remove premature free of cid
  [SCSI] be2iscsi: More time for FW
  [SCSI] libsas: fix bug for vacant phy
  [SCSI] sd: Fix overflow with big physical blocks
  [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer
  [SCSI] libsas: Don't issue commands to devices that have been hot-removed
  [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive
  [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17
  [SCSI] lpfc 8.3.17: Replace function reset methodology
  [SCSI] lpfc 8.3.17: SCSI fixes
  [SCSI] lpfc 8.3.17: BSG fixes
  [SCSI] lpfc 8.3.17: SLI Additions and Fixes
  [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes
  [SCSI] zfcp: Remove scsi_cmnd->serial_number from debug traces
  [SCSI] ipr: fix array error logging
  [SCSI] aha152x: enable PCMCIA on 64bit
  [SCSI] scsi_dh_alua: Handle all states correctly
  [SCSI] cxgb4i: connection and ddp setting update
  [SCSI] cxgb3i: fixed connection over vlan
  ...
Diffstat (limited to 'drivers/scsi/st.c')
| -rw-r--r-- | drivers/scsi/st.c | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index afdc3f5d915c..5b7388f1c835 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -9,7 +9,7 @@     Steve Hirsch, Andreas Koppenh"ofer, Michael Leodolter, Eyal Lebedinsky,     Michael Schaefer, J"org Weule, and Eric Youngdale. -   Copyright 1992 - 2008 Kai Makisara +   Copyright 1992 - 2010 Kai Makisara     email Kai.Makisara@kolumbus.fi     Some small formal changes - aeb, 950809 @@ -17,7 +17,7 @@     Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support   */ -static const char *verstr = "20081215"; +static const char *verstr = "20100829";  #include <linux/module.h> @@ -2696,18 +2696,21 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon  		}  		break;  	case MTWEOF: +	case MTWEOFI:  	case MTWSM:  		if (STp->write_prot)  			return (-EACCES);  		cmd[0] = WRITE_FILEMARKS;  		if (cmd_in == MTWSM)  			cmd[1] = 2; +		if (cmd_in == MTWEOFI) +			cmd[1] |= 1;  		cmd[2] = (arg >> 16);  		cmd[3] = (arg >> 8);  		cmd[4] = arg;  		timeout = STp->device->request_queue->rq_timeout;                  DEBC( -                     if (cmd_in == MTWEOF) +		     if (cmd_in != MTWSM)                                 printk(ST_DEB_MSG "%s: Writing %d filemarks.\n", name,  				 cmd[2] * 65536 + cmd[3] * 256 + cmd[4]);                       else @@ -2883,8 +2886,8 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon  		else if (chg_eof)  			STps->eof = ST_NOEOF; -		if (cmd_in == MTWEOF) -			STps->rw = ST_IDLE; +		if (cmd_in == MTWEOF || cmd_in == MTWEOFI) +			STps->rw = ST_IDLE;  /* prevent automatic WEOF at close */  	} else { /* SCSI command was not completely successful. Don't return                      from this block without releasing the SCSI command block! */  		struct st_cmdstatus *cmdstatp = &STp->buffer->cmdstat; @@ -2901,7 +2904,7 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon  		else  			undone = 0; -		if (cmd_in == MTWEOF && +		if ((cmd_in == MTWEOF || cmd_in == MTWEOFI) &&  		    cmdstatp->have_sense &&  		    (cmdstatp->flags & SENSE_EOM)) {  			if (cmdstatp->sense_hdr.sense_key == NO_SENSE || | 
