aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/eadm_sch.h
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2013-09-25 12:29:05 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-10-24 17:16:58 +0200
commit6aa2677a57fdd8964ccd44766cdc06cdd9c5db5b (patch)
tree6da34df3a028e8ce177a4b41f09ad3f6158e4d50 /drivers/s390/cio/eadm_sch.h
parents390/pci: implement hibernation hooks (diff)
downloadlinux-dev-6aa2677a57fdd8964ccd44766cdc06cdd9c5db5b.tar.xz
linux-dev-6aa2677a57fdd8964ccd44766cdc06cdd9c5db5b.zip
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.h4
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))