diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 76461c4cca0c9eeb73e13e05a5bdd81f609b093d..0330f17c8feb1d91fd0b3bf285437da5a3e1be1e 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4258,6 +4258,8 @@ static void hpsa_update_scsi_devices(struct ctlr_info *h)
 		int phys_dev_index = i - (raid_ctlr_position == 0);
 		bool skip_device = false;
 
+		memset(tmpdevice, 0, sizeof(*tmpdevice));
+
 		physical_device = i < nphysicals + (raid_ctlr_position == 0);
 
 		/* Figure out where the LUN ID info is coming from */