[SCSI] mpt2sas: fix cleanup on controller resource mapping failure
authorJoe Lawrence <joe.lawrence@stratus.com>
Thu, 8 Aug 2013 20:45:38 +0000 (16:45 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 26 Aug 2013 14:53:44 +0000 (18:53 +0400)
If mpt2sas_base_map_resources takes an early error path then its
counterpart, mpt2sas_base_free_resources needs to be careful about
cleaning up:

  1 - _base_mask_interrupts and _base_make_ioc_ready require memory
      mapped I/O registers, make sure that this is true.

  2 - _base_free_irq iterates over the adapter's reply_queue_list, so
      move this list head initialization out of _base_enable_msix to
      _scsih_probe so this will always be safe.

  3 - check that the controller PCI device and its BARs have been
      enabled before disabling them.

Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
Acked-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

No differences found