[SCSI] lpfc 8.3.26: Fix HBA initialization issues
commit079b5c916d19e7533c060b32d4a31ce45c3552d2
authorJames Smart <james.smart@emulex.com>
Mon, 22 Aug 2011 01:48:49 +0000 (21 21:48 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 29 Aug 2011 07:16:18 +0000 (29 00:16 -0700)
tree7e1ed1356e7fb0395a7adba1c98fda2ee274efe7
parentbf08611bcc461d83199a8449930b176823017f58
[SCSI] lpfc 8.3.26: Fix HBA initialization issues

Fix HBA initialization issues

- Swap all values that come from the firmware image on little endian systems.
  Created a new bf_get_be macro that does the same as the bf_get_le macro but
  for big endian data instead of little endian data.
- Moved the incrementing of temp_offset after the copy
  fixed the write object loop to use temp_offset to figure out where the end
  of the image is instead of offset.
- Added the necessary codes for properly bringing the driver instance offline
  and then trying to bring the port back online with the PCI function IP reset.
  If it fails to bring the SLI port back online, it will fall through to
  bringing the SLI port to HBA error offline.
- Add a call in the probe_one_s3 and probe_one_s4 routines to get the Modeldesc
- Change OCe50100 to OCe15100
- Made the error log also include the PCI BAR bitmap returned from kernel call
  pci_select_bars().

Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_hw4.h
drivers/scsi/lpfc/lpfc_init.c