diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-18 17:25:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-18 17:25:40 -0400 |
commit | 0b2cad2f30d0353f2576b1a2207c0792ba713157 (patch) | |
tree | 0d7f73fcc961111ddca915cc8f267ebb088a04c2 /include | |
parent | 238628edb6cd427454fb54994e2605e191bfc26a (diff) | |
parent | 686579d95d48c713bdb7008cc76af8398219e687 (diff) |
Merge SCSI tree from James Bottomley.
Done with "git-pull-script rsync://www.parisc-linux.org/~jejb/scsi-rc-fixes-2.6.git"
together with an automated content merge.
Diffstat (limited to 'include')
-rw-r--r-- | include/scsi/scsi.h | 11 | ||||
-rw-r--r-- | include/scsi/scsi_cmnd.h | 28 |
2 files changed, 20 insertions, 19 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 1d54c063ae52..659ecf48fb4a 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -295,6 +295,8 @@ struct scsi_lun { | |||
295 | #define DID_PASSTHROUGH 0x0a /* Force command past mid-layer */ | 295 | #define DID_PASSTHROUGH 0x0a /* Force command past mid-layer */ |
296 | #define DID_SOFT_ERROR 0x0b /* The low level driver just wish a retry */ | 296 | #define DID_SOFT_ERROR 0x0b /* The low level driver just wish a retry */ |
297 | #define DID_IMM_RETRY 0x0c /* Retry without decrementing retry count */ | 297 | #define DID_IMM_RETRY 0x0c /* Retry without decrementing retry count */ |
298 | #define DID_REQUEUE 0x0d /* Requeue command (no immediate retry) also | ||
299 | * without decrementing the retry count */ | ||
298 | #define DRIVER_OK 0x00 /* Driver status */ | 300 | #define DRIVER_OK 0x00 /* Driver status */ |
299 | 301 | ||
300 | /* | 302 | /* |
@@ -360,6 +362,15 @@ struct scsi_lun { | |||
360 | #define sense_error(sense) ((sense) & 0xf) | 362 | #define sense_error(sense) ((sense) & 0xf) |
361 | #define sense_valid(sense) ((sense) & 0x80); | 363 | #define sense_valid(sense) ((sense) & 0x80); |
362 | 364 | ||
365 | /* | ||
366 | * default timeouts | ||
367 | */ | ||
368 | #define FORMAT_UNIT_TIMEOUT (2 * 60 * 60 * HZ) | ||
369 | #define START_STOP_TIMEOUT (60 * HZ) | ||
370 | #define MOVE_MEDIUM_TIMEOUT (5 * 60 * HZ) | ||
371 | #define READ_ELEMENT_STATUS_TIMEOUT (5 * 60 * HZ) | ||
372 | #define READ_DEFECT_DATA_TIMEOUT (60 * HZ ) | ||
373 | |||
363 | 374 | ||
364 | #define IDENTIFY_BASE 0x80 | 375 | #define IDENTIFY_BASE 0x80 |
365 | #define IDENTIFY(can_disconnect, lun) (IDENTIFY_BASE |\ | 376 | #define IDENTIFY(can_disconnect, lun) (IDENTIFY_BASE |\ |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 9d9871c28abd..07f5c699eaa7 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -43,21 +43,17 @@ struct scsi_cmnd { | |||
43 | void (*done) (struct scsi_cmnd *); /* Mid-level done function */ | 43 | void (*done) (struct scsi_cmnd *); /* Mid-level done function */ |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * A SCSI Command is assigned a nonzero serial_number when internal_cmnd | 46 | * A SCSI Command is assigned a nonzero serial_number before passed |
47 | * passes it to the driver's queue command function. The serial_number | 47 | * to the driver's queue command function. The serial_number is |
48 | * is cleared when scsi_done is entered indicating that the command has | 48 | * cleared when scsi_done is entered indicating that the command |
49 | * been completed. If a timeout occurs, the serial number at the moment | 49 | * has been completed. It currently doesn't have much use other |
50 | * of timeout is copied into serial_number_at_timeout. By subsequently | 50 | * than printk's. Some lldd's use this number for other purposes. |
51 | * comparing the serial_number and serial_number_at_timeout fields | 51 | * It's almost certain that such usages are either incorrect or |
52 | * during abort or reset processing, we can detect whether the command | 52 | * meaningless. Please kill all usages other than printk's. Also, |
53 | * has already completed. This also detects cases where the command has | 53 | * as this number is always identical to ->pid, please convert |
54 | * completed and the SCSI Command structure has already being reused | 54 | * printk's to use ->pid, so that we can kill this field. |
55 | * for another command, so that we can avoid incorrectly aborting or | ||
56 | * resetting the new command. | ||
57 | * The serial number is only unique per host. | ||
58 | */ | 55 | */ |
59 | unsigned long serial_number; | 56 | unsigned long serial_number; |
60 | unsigned long serial_number_at_timeout; | ||
61 | 57 | ||
62 | int retries; | 58 | int retries; |
63 | int allowed; | 59 | int allowed; |
@@ -65,12 +61,6 @@ struct scsi_cmnd { | |||
65 | int timeout_total; | 61 | int timeout_total; |
66 | int timeout; | 62 | int timeout; |
67 | 63 | ||
68 | /* | ||
69 | * We handle the timeout differently if it happens when a reset, | ||
70 | * abort, etc are in process. | ||
71 | */ | ||
72 | unsigned volatile char internal_timeout; | ||
73 | |||
74 | unsigned char cmd_len; | 64 | unsigned char cmd_len; |
75 | unsigned char old_cmd_len; | 65 | unsigned char old_cmd_len; |
76 | enum dma_data_direction sc_data_direction; | 66 | enum dma_data_direction sc_data_direction; |