[SCSI] lpfc 8.3.14: SCSI and SLI API fixes

- Fixed accounting of allocated SCSI buffers when post sgl fails.
- Restrict scsi buffer allocation based on LUN count (sdev_cnt).
- Create __lpfc_sli_free_rpi that doesn't take out the hbalock.
- Modify lpfc_sli_free_rpi to call __lpfc_sli_free_rpi.
- Call __lpfc_sli_free_rpi in lpfc_cleanup_pending_mbox.
- Do not swap the strings returned in mailbox commands and do
  not swap byte aligned data in VPD.

Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Esse commit está contido em:
James Smart
2010-06-08 18:31:54 -04:00
commit de James Bottomley
commit d7c479929b
8 arquivos alterados com 62 adições e 11 exclusões

Ver arquivo

@@ -955,6 +955,26 @@ lpfc_read_rev(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
return;
}
void
lpfc_sli4_swap_str(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
{
MAILBOX_t *mb = &pmb->u.mb;
struct lpfc_mqe *mqe;
switch (mb->mbxCommand) {
case MBX_READ_REV:
mqe = &pmb->u.mqe;
lpfc_sli_pcimem_bcopy(mqe->un.read_rev.fw_name,
mqe->un.read_rev.fw_name, 16);
lpfc_sli_pcimem_bcopy(mqe->un.read_rev.ulp_fw_name,
mqe->un.read_rev.ulp_fw_name, 16);
break;
default:
break;
}
return;
}
/**
* lpfc_build_hbq_profile2 - Set up the HBQ Selection Profile 2
* @hbqmb: pointer to the HBQ configuration data structure in mailbox command.