summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@carl.home.kernel.dk>2007-10-17 21:33:05 +0400
committerJens Axboe <axboe@carl.home.kernel.dk>2007-10-17 21:33:05 +0400
commita3bec5c5aea0da263111c4d8f8eabc1f8560d7bf (patch)
tree5268ddce15cb0fe9e62efe4512461bb2b03fc079
parente6d5a11dad44b8ae18ca8fc4ecb72ccccfa0a2d2 (diff)
downloadlinux-a3bec5c5aea0da263111c4d8f8eabc1f8560d7bf.tar.xz
Revert "[SCSI] Remove full sg table memset()"
A bit too eager - we definitely need to clear the sg table initially, so that we don't accidentally have ->page & 0x01 true and think that is a chain pointer. This reverts commit f5c0dde4c66421a3a2d7d6fa604a712c9b0744e5.
-rw-r--r--drivers/scsi/scsi_lib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 0c86be71bb33..aac8a02cbe80 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -764,6 +764,8 @@ struct scatterlist *scsi_alloc_sgtable(struct scsi_cmnd *cmd, gfp_t gfp_mask)
if (unlikely(!sgl))
goto enomem;
+ memset(sgl, 0, sizeof(*sgl) * sgp->size);
+
/*
* first loop through, set initial index and return value
*/