diff options
| author | Stefan Weinhuber <wein@de.ibm.com> | 2008-09-16 12:32:19 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <sky@skybook.(none)> | 2008-09-16 12:34:32 -0400 |
| commit | 9adb8c1d4f0ac78b3469e377ce5f8a846cbaedaf (patch) | |
| tree | 7ee39444979acfc3a838d15c911a3735c4ddd869 | |
| parent | f26fd5d6e5006eae75a389c7ce74ed16761d094b (diff) | |
[S390] cio: fix orb initialization in cio_start_key
The functions cio_tm_start_key and cio_start_key use the same private
orb structure of a subchannel, so the orb needs to be cleared of old
data before it is used again. A respective memset is missing from
cio_start_key and hereby added.
Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | drivers/s390/cio/cio.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 5954b905e3ca..326f4cc7f92c 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
| @@ -174,6 +174,7 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */ | |||
| 174 | CIO_TRACE_EVENT(4, sch->dev.bus_id); | 174 | CIO_TRACE_EVENT(4, sch->dev.bus_id); |
| 175 | 175 | ||
| 176 | orb = &to_io_private(sch)->orb; | 176 | orb = &to_io_private(sch)->orb; |
| 177 | memset(orb, 0, sizeof(union orb)); | ||
| 177 | /* sch is always under 2G. */ | 178 | /* sch is always under 2G. */ |
| 178 | orb->cmd.intparm = (u32)(addr_t)sch; | 179 | orb->cmd.intparm = (u32)(addr_t)sch; |
| 179 | orb->cmd.fmt = 1; | 180 | orb->cmd.fmt = 1; |
