Commit 15672319 authored by James Smart's avatar James Smart Committed by James Bottomley

[SCSI] lpfc 8.3.12: Miscellaneous Changes

- Prevent log message 1801 during vport delete.
- Enable NPIV by default.
- Display correct value for max Vports on SLI4 HBAs.
Signed-off-by: default avatarAlex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: default avatarJames Smart <james.smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent b19a061a
...@@ -869,6 +869,7 @@ lpfc_get_hba_info(struct lpfc_hba *phba, ...@@ -869,6 +869,7 @@ lpfc_get_hba_info(struct lpfc_hba *phba,
LPFC_MBOXQ_t *pmboxq; LPFC_MBOXQ_t *pmboxq;
MAILBOX_t *pmb; MAILBOX_t *pmb;
int rc = 0; int rc = 0;
uint32_t max_vpi;
/* /*
* prevent udev from issuing mailbox commands until the port is * prevent udev from issuing mailbox commands until the port is
...@@ -916,11 +917,17 @@ lpfc_get_hba_info(struct lpfc_hba *phba, ...@@ -916,11 +917,17 @@ lpfc_get_hba_info(struct lpfc_hba *phba,
if (axri) if (axri)
*axri = bf_get(lpfc_mbx_rd_conf_xri_count, rd_config) - *axri = bf_get(lpfc_mbx_rd_conf_xri_count, rd_config) -
phba->sli4_hba.max_cfg_param.xri_used; phba->sli4_hba.max_cfg_param.xri_used;
/* Account for differences with SLI-3. Get vpi count from
* mailbox data and subtract one for max vpi value.
*/
max_vpi = (bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) > 0) ?
(bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) - 1) : 0;
if (mvpi) if (mvpi)
*mvpi = bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config); *mvpi = max_vpi;
if (avpi) if (avpi)
*avpi = bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) - *avpi = max_vpi - phba->sli4_hba.max_cfg_param.vpi_used;
phba->sli4_hba.max_cfg_param.vpi_used;
} else { } else {
if (mrpi) if (mrpi)
*mrpi = pmb->un.varRdConfig.max_rpi; *mrpi = pmb->un.varRdConfig.max_rpi;
...@@ -1925,13 +1932,12 @@ MODULE_PARM_DESC(lpfc_sli_mode, "SLI mode selector:" ...@@ -1925,13 +1932,12 @@ MODULE_PARM_DESC(lpfc_sli_mode, "SLI mode selector:"
" 2 - select SLI-2 even on SLI-3 capable HBAs," " 2 - select SLI-2 even on SLI-3 capable HBAs,"
" 3 - select SLI-3"); " 3 - select SLI-3");
int lpfc_enable_npiv = 0; int lpfc_enable_npiv = 1;
module_param(lpfc_enable_npiv, int, 0); module_param(lpfc_enable_npiv, int, 0);
MODULE_PARM_DESC(lpfc_enable_npiv, "Enable NPIV functionality"); MODULE_PARM_DESC(lpfc_enable_npiv, "Enable NPIV functionality");
lpfc_param_show(enable_npiv); lpfc_param_show(enable_npiv);
lpfc_param_init(enable_npiv, 1, 0, 1); lpfc_param_init(enable_npiv, 1, 0, 1);
static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, lpfc_enable_npiv_show, NULL);
lpfc_enable_npiv_show, NULL);
/* /*
# lpfc_suppress_link_up: Bring link up at initialization # lpfc_suppress_link_up: Bring link up at initialization
......
...@@ -763,7 +763,9 @@ lpfc_create_vport_work_array(struct lpfc_hba *phba) ...@@ -763,7 +763,9 @@ lpfc_create_vport_work_array(struct lpfc_hba *phba)
spin_lock_irq(&phba->hbalock); spin_lock_irq(&phba->hbalock);
list_for_each_entry(port_iterator, &phba->port_list, listentry) { list_for_each_entry(port_iterator, &phba->port_list, listentry) {
if (!scsi_host_get(lpfc_shost_from_vport(port_iterator))) { if (!scsi_host_get(lpfc_shost_from_vport(port_iterator))) {
lpfc_printf_vlog(port_iterator, KERN_WARNING, LOG_VPORT, if (!(port_iterator->load_flag & FC_UNLOADING))
lpfc_printf_vlog(port_iterator, KERN_ERR,
LOG_VPORT,
"1801 Create vport work array FAILED: " "1801 Create vport work array FAILED: "
"cannot do scsi_host_get\n"); "cannot do scsi_host_get\n");
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment