From: Dan Carpenter Date: Fri, 7 Dec 2012 10:56:22 +0000 (+0300) Subject: [SCSI] mpt3sas: cut and paste bug storing trigger mpi X-Git-Tag: upstream/snapshot3+hdmi~5614^2~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=66331e8cf5cd8b387891e3ec0ef1d95e224ee976;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git [SCSI] mpt3sas: cut and paste bug storing trigger mpi ioc->diag_trigger_mpi is an SL_WH_MPI_TRIGGERS_T struct. There is a cut and paste error here and SL_WH_EVENT_TRIGGERS_T is used instead of SL_WH_MPI_TRIGGERS_T. Since the SL_WH_EVENT_TRIGGERS_T is smaller than SL_WH_MPI_TRIGGERS_T, it means we only clear part of the buffer. I've changed it to use sizeof(ioc->diag_trigger_mpi) which is a bit simpler. Signed-off-by: Dan Carpenter Acked-by: "Sreekanth Reddy" Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/mpt3sas/mpt3sas_ctl.c b/drivers/scsi/mpt3sas/mpt3sas_ctl.c index 8af944d..02cd945 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_ctl.c +++ b/drivers/scsi/mpt3sas/mpt3sas_ctl.c @@ -3136,7 +3136,7 @@ _ctl_diag_trigger_mpi_store(struct device *cdev, spin_lock_irqsave(&ioc->diag_trigger_lock, flags); sz = min(sizeof(struct SL_WH_MPI_TRIGGERS_T), count); memset(&ioc->diag_trigger_mpi, 0, - sizeof(struct SL_WH_EVENT_TRIGGERS_T)); + sizeof(ioc->diag_trigger_mpi)); memcpy(&ioc->diag_trigger_mpi, buf, sz); if (ioc->diag_trigger_mpi.ValidEntries > NUM_VALID_ENTRIES) ioc->diag_trigger_mpi.ValidEntries = NUM_VALID_ENTRIES;