|
@@ -448,8 +448,14 @@ struct Scsi_Host {
|
|
|
wait_queue_head_t host_wait;
|
|
|
struct scsi_host_template *hostt;
|
|
|
struct scsi_transport_template *transportt;
|
|
|
- volatile unsigned short host_busy; /* commands actually active on low-level */
|
|
|
- volatile unsigned short host_failed; /* commands that failed. */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * The following two fields are protected with host_lock;
|
|
|
+ * however, eh routines can safely access during eh processing
|
|
|
+ * without acquiring the lock.
|
|
|
+ */
|
|
|
+ unsigned int host_busy; /* commands actually active on low-level */
|
|
|
+ unsigned int host_failed; /* commands that failed. */
|
|
|
|
|
|
unsigned short host_no; /* Used for IOCTL_GET_IDLUN, /proc/scsi et al. */
|
|
|
int resetting; /* if set, it means that last_reset is a valid value */
|