diff options
Diffstat (limited to 'drivers/scsi/aacraid/comminit.c')
-rw-r--r-- | drivers/scsi/aacraid/comminit.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c index 1cd3584ba7ff..d5cf8b91a0e7 100644 --- a/drivers/scsi/aacraid/comminit.c +++ b/drivers/scsi/aacraid/comminit.c | |||
@@ -180,7 +180,7 @@ int aac_send_shutdown(struct aac_dev * dev) | |||
180 | -2 /* Timeout silently */, 1, | 180 | -2 /* Timeout silently */, 1, |
181 | NULL, NULL); | 181 | NULL, NULL); |
182 | 182 | ||
183 | if (status == 0) | 183 | if (status >= 0) |
184 | aac_fib_complete(fibctx); | 184 | aac_fib_complete(fibctx); |
185 | aac_fib_free(fibctx); | 185 | aac_fib_free(fibctx); |
186 | return status; | 186 | return status; |
@@ -307,17 +307,12 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev) | |||
307 | if (status[1] & AAC_OPT_NEW_COMM) | 307 | if (status[1] & AAC_OPT_NEW_COMM) |
308 | dev->new_comm_interface = dev->a_ops.adapter_send != 0; | 308 | dev->new_comm_interface = dev->a_ops.adapter_send != 0; |
309 | if (dev->new_comm_interface && (status[2] > dev->base_size)) { | 309 | if (dev->new_comm_interface && (status[2] > dev->base_size)) { |
310 | iounmap(dev->regs.sa); | 310 | aac_adapter_ioremap(dev, 0); |
311 | dev->base_size = status[2]; | 311 | dev->base_size = status[2]; |
312 | dprintk((KERN_DEBUG "ioremap(%lx,%d)\n", | 312 | if (aac_adapter_ioremap(dev, status[2])) { |
313 | host->base, status[2])); | ||
314 | dev->regs.sa = ioremap(host->base, status[2]); | ||
315 | if (dev->regs.sa == NULL) { | ||
316 | /* remap failed, go back ... */ | 313 | /* remap failed, go back ... */ |
317 | dev->new_comm_interface = 0; | 314 | dev->new_comm_interface = 0; |
318 | dev->regs.sa = ioremap(host->base, | 315 | if (aac_adapter_ioremap(dev, AAC_MIN_FOOTPRINT_SIZE)) { |
319 | AAC_MIN_FOOTPRINT_SIZE); | ||
320 | if (dev->regs.sa == NULL) { | ||
321 | printk(KERN_WARNING | 316 | printk(KERN_WARNING |
322 | "aacraid: unable to map adapter.\n"); | 317 | "aacraid: unable to map adapter.\n"); |
323 | return NULL; | 318 | return NULL; |