summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsbruno <sbruno@FreeBSD.org>2013-04-28 20:46:32 +0000
committersbruno <sbruno@FreeBSD.org>2013-04-28 20:46:32 +0000
commit0f3787ab8207a6be8eb911a51268f02bf36a7ad2 (patch)
tree8a0d7f799316045b79071b2930d911e210b59b31
parent2f2c1edec8b49b001f43df2df01de504dfd6ed3a (diff)
downloadFreeBSD-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.c1
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);
OpenPOWER on IntegriCloud