diff options
Diffstat (limited to 'include/scsi/libfc.h')
-rw-r--r-- | include/scsi/libfc.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index e1379b4e8faf..52beadf9a29b 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h | |||
@@ -410,6 +410,12 @@ struct fc_seq { | |||
410 | * @fh_type: The frame type | 410 | * @fh_type: The frame type |
411 | * @class: The class of service | 411 | * @class: The class of service |
412 | * @seq: The sequence in use on this exchange | 412 | * @seq: The sequence in use on this exchange |
413 | * @resp_active: Number of tasks that are concurrently executing @resp(). | ||
414 | * @resp_task: If @resp_active > 0, either the task executing @resp(), the | ||
415 | * task that has been interrupted to execute the soft-IRQ | ||
416 | * executing @resp() or NULL if more than one task is executing | ||
417 | * @resp concurrently. | ||
418 | * @resp_wq: Waitqueue for the tasks waiting on @resp_active. | ||
413 | * @resp: Callback for responses on this exchange | 419 | * @resp: Callback for responses on this exchange |
414 | * @destructor: Called when destroying the exchange | 420 | * @destructor: Called when destroying the exchange |
415 | * @arg: Passed as a void pointer to the resp() callback | 421 | * @arg: Passed as a void pointer to the resp() callback |
@@ -441,6 +447,9 @@ struct fc_exch { | |||
441 | u32 r_a_tov; | 447 | u32 r_a_tov; |
442 | u32 f_ctl; | 448 | u32 f_ctl; |
443 | struct fc_seq seq; | 449 | struct fc_seq seq; |
450 | int resp_active; | ||
451 | struct task_struct *resp_task; | ||
452 | wait_queue_head_t resp_wq; | ||
444 | void (*resp)(struct fc_seq *, struct fc_frame *, void *); | 453 | void (*resp)(struct fc_seq *, struct fc_frame *, void *); |
445 | void *arg; | 454 | void *arg; |
446 | void (*destructor)(struct fc_seq *, void *); | 455 | void (*destructor)(struct fc_seq *, void *); |