diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2013-09-25 14:29:05 +0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-10-24 19:16:58 +0400 |
commit | 6aa2677a57fdd8964ccd44766cdc06cdd9c5db5b (patch) | |
tree | 6da34df3a028e8ce177a4b41f09ad3f6158e4d50 /drivers/s390/cio/eadm_sch.h | |
parent | 69db3b5e850d0cac543d8523cbde17a4729f8990 (diff) | |
download | linux-6aa2677a57fdd8964ccd44766cdc06cdd9c5db5b.tar.xz |
s390/eadm_sch: improve quiesce handling
When quiescing an eadm subchannel make sure that outstanding IO is
cleared and potential timeout handlers are canceled.
Reviewed-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/eadm_sch.h')
-rw-r--r-- | drivers/s390/cio/eadm_sch.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/cio/eadm_sch.h b/drivers/s390/cio/eadm_sch.h index 2779be093982..9664e4653f98 100644 --- a/drivers/s390/cio/eadm_sch.h +++ b/drivers/s390/cio/eadm_sch.h @@ -1,6 +1,7 @@ #ifndef EADM_SCH_H #define EADM_SCH_H +#include <linux/completion.h> #include <linux/device.h> #include <linux/timer.h> #include <linux/list.h> @@ -9,9 +10,10 @@ struct eadm_private { union orb orb; enum {EADM_IDLE, EADM_BUSY, EADM_NOT_OPER} state; + struct completion *completion; + struct subchannel *sch; struct timer_list timer; struct list_head head; - struct subchannel *sch; } __aligned(8); #define get_eadm_private(n) ((struct eadm_private *)dev_get_drvdata(&n->dev)) |