Commit 4111796d authored by Stefan Bader's avatar Stefan Bader Committed by Linus Torvalds

[PATCH] s390: channel tape fixes

Tape driver fixes:
 - Added deferred condition handling to tape driver core.
 - Added ability to handle busy conditions.
 - Code cleanup.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6bb0e010
...@@ -3,10 +3,11 @@ ...@@ -3,10 +3,11 @@
* tape device driver for 3480/3490E/3590 tapes. * tape device driver for 3480/3490E/3590 tapes.
* *
* S390 and zSeries version * S390 and zSeries version
* Copyright (C) 2001,2002 IBM Deutschland Entwicklung GmbH, IBM Corporation * Copyright (C) 2001,2005 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Author(s): Carsten Otte <cotte@de.ibm.com> * Author(s): Carsten Otte <cotte@de.ibm.com>
* Tuan Ngo-Anh <ngoanh@de.ibm.com> * Tuan Ngo-Anh <ngoanh@de.ibm.com>
* Martin Schwidefsky <schwidefsky@de.ibm.com> * Martin Schwidefsky <schwidefsky@de.ibm.com>
* Stefan Bader <shbader@de.ibm.com>
*/ */
#ifndef _TAPE_H #ifndef _TAPE_H
...@@ -111,6 +112,7 @@ enum tape_request_status { ...@@ -111,6 +112,7 @@ enum tape_request_status {
TAPE_REQUEST_QUEUED, /* request is queued to be processed */ TAPE_REQUEST_QUEUED, /* request is queued to be processed */
TAPE_REQUEST_IN_IO, /* request is currently in IO */ TAPE_REQUEST_IN_IO, /* request is currently in IO */
TAPE_REQUEST_DONE, /* request is completed. */ TAPE_REQUEST_DONE, /* request is completed. */
TAPE_REQUEST_CANCEL, /* request should be canceled. */
}; };
/* Tape CCW request */ /* Tape CCW request */
...@@ -237,6 +239,9 @@ struct tape_device { ...@@ -237,6 +239,9 @@ struct tape_device {
/* Block dev frontend data */ /* Block dev frontend data */
struct tape_blk_data blk_data; struct tape_blk_data blk_data;
#endif #endif
/* Function to start or stop the next request later. */
struct work_struct tape_dnr;
}; };
/* Externals from tape_core.c */ /* Externals from tape_core.c */
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment