diff options
author | sbruno <sbruno@FreeBSD.org> | 2013-04-28 20:46:32 +0000 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2013-04-28 20:46:32 +0000 |
commit | 0f3787ab8207a6be8eb911a51268f02bf36a7ad2 (patch) | |
tree | 8a0d7f799316045b79071b2930d911e210b59b31 | |
parent | 2f2c1edec8b49b001f43df2df01de504dfd6ed3a (diff) | |
download | FreeBSD-src-0f3787ab8207a6be8eb911a51268f02bf36a7ad2.zip FreeBSD-src-0f3787ab8207a6be8eb911a51268f02bf36a7ad2.tar.gz |
The controller does not zero this data structure, ever.
Zero it out here so we do not misinterpret the data error.
Obtained from: Yahoo! Inc.
MFC after: 2 weeks
-rw-r--r-- | sys/dev/ciss/ciss.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 968e7bb..f9e62e4 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -2487,6 +2487,7 @@ ciss_preen_command(struct ciss_request *cr) cc->header.sg_total = 0; cc->header.host_tag = cr->cr_tag << 2; cc->header.host_tag_zeroes = 0; + bzero(&(cc->sg[0]), CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command)); cmdphys = cr->cr_ccphys; cc->error_info.error_info_address = cmdphys + sizeof(struct ciss_command); cc->error_info.error_info_length = CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command); |