diff options
Diffstat (limited to 'drivers/scsi/aacraid')
-rw-r--r-- | drivers/scsi/aacraid/commsup.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index ee9067255930..723c0cea7c04 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c | |||
@@ -1164,7 +1164,7 @@ int aac_command_thread(struct aac_dev * dev) | |||
1164 | kfree(hw_fib_pool); | 1164 | kfree(hw_fib_pool); |
1165 | hw_fib_pool = NULL; | 1165 | hw_fib_pool = NULL; |
1166 | } | 1166 | } |
1167 | } else if (hw_fib_pool) { | 1167 | } else { |
1168 | kfree(hw_fib_pool); | 1168 | kfree(hw_fib_pool); |
1169 | hw_fib_pool = NULL; | 1169 | hw_fib_pool = NULL; |
1170 | } | 1170 | } |
@@ -1247,17 +1247,13 @@ int aac_command_thread(struct aac_dev * dev) | |||
1247 | hw_fib_p = hw_fib_pool; | 1247 | hw_fib_p = hw_fib_pool; |
1248 | fib_p = fib_pool; | 1248 | fib_p = fib_pool; |
1249 | while (hw_fib_p < &hw_fib_pool[num]) { | 1249 | while (hw_fib_p < &hw_fib_pool[num]) { |
1250 | if (*hw_fib_p) | 1250 | kfree(*hw_fib_p); |
1251 | kfree(*hw_fib_p); | 1251 | kfree(*fib_p); |
1252 | if (*fib_p) | ||
1253 | kfree(*fib_p); | ||
1254 | ++fib_p; | 1252 | ++fib_p; |
1255 | ++hw_fib_p; | 1253 | ++hw_fib_p; |
1256 | } | 1254 | } |
1257 | if (hw_fib_pool) | 1255 | kfree(hw_fib_pool); |
1258 | kfree(hw_fib_pool); | 1256 | kfree(fib_pool); |
1259 | if (fib_pool) | ||
1260 | kfree(fib_pool); | ||
1261 | } | 1257 | } |
1262 | kfree(fib); | 1258 | kfree(fib); |
1263 | spin_lock_irqsave(dev->queues->queue[HostNormCmdQueue].lock, flags); | 1259 | spin_lock_irqsave(dev->queues->queue[HostNormCmdQueue].lock, flags); |