[S390] cio: fix orb initialization in cio_start_key
authorStefan Weinhuber <wein@de.ibm.com>
Tue, 16 Sep 2008 16:32:19 +0000 (09:32 -0700)
committerMartin Schwidefsky <sky@skybook.(none)>
Tue, 16 Sep 2008 16:34:32 +0000 (09:34 -0700)
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>
drivers/s390/cio/cio.c

index 5954b905e3cab9723116646069356ad7928c31d8..326f4cc7f92c932578870443f1421488501c25c0 100644 (file)
@@ -174,6 +174,7 @@ cio_start_key (struct subchannel *sch,      /* subchannel structure */
        CIO_TRACE_EVENT(4, sch->dev.bus_id);
 
        orb = &to_io_private(sch)->orb;
+       memset(orb, 0, sizeof(union orb));
        /* sch is always under 2G. */
        orb->cmd.intparm = (u32)(addr_t)sch;
        orb->cmd.fmt = 1;