diff options
Diffstat (limited to 'drivers/scsi/aacraid/dpcsup.c')
-rw-r--r-- | drivers/scsi/aacraid/dpcsup.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c index 42c7dcda6d9b..fcd25f7d0bc6 100644 --- a/drivers/scsi/aacraid/dpcsup.c +++ b/drivers/scsi/aacraid/dpcsup.c | |||
@@ -248,16 +248,14 @@ unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index) | |||
248 | * manage the linked lists. | 248 | * manage the linked lists. |
249 | */ | 249 | */ |
250 | if ((!dev->aif_thread) | 250 | if ((!dev->aif_thread) |
251 | || (!(fib = kmalloc(sizeof(struct fib),GFP_ATOMIC)))) | 251 | || (!(fib = kzalloc(sizeof(struct fib),GFP_ATOMIC)))) |
252 | return 1; | 252 | return 1; |
253 | if (!(hw_fib = kmalloc(sizeof(struct hw_fib),GFP_ATOMIC))) { | 253 | if (!(hw_fib = kzalloc(sizeof(struct hw_fib),GFP_ATOMIC))) { |
254 | kfree (fib); | 254 | kfree (fib); |
255 | return 1; | 255 | return 1; |
256 | } | 256 | } |
257 | memset(hw_fib, 0, sizeof(struct hw_fib)); | ||
258 | memcpy(hw_fib, (struct hw_fib *)(((ptrdiff_t)(dev->regs.sa)) + | 257 | memcpy(hw_fib, (struct hw_fib *)(((ptrdiff_t)(dev->regs.sa)) + |
259 | (index & ~0x00000002L)), sizeof(struct hw_fib)); | 258 | (index & ~0x00000002L)), sizeof(struct hw_fib)); |
260 | memset(fib, 0, sizeof(struct fib)); | ||
261 | INIT_LIST_HEAD(&fib->fiblink); | 259 | INIT_LIST_HEAD(&fib->fiblink); |
262 | fib->type = FSAFS_NTC_FIB_CONTEXT; | 260 | fib->type = FSAFS_NTC_FIB_CONTEXT; |
263 | fib->size = sizeof(struct fib); | 261 | fib->size = sizeof(struct fib); |