aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index b12a841703ca..74c9fc204211 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -1954,7 +1954,9 @@ sysfs_mbox_read(struct kobject *kobj, struct bin_attribute *bin_attr,
1954 (phba->sysfs_mbox.mbox->mb.mbxCommand != 1954 (phba->sysfs_mbox.mbox->mb.mbxCommand !=
1955 MBX_DUMP_MEMORY && 1955 MBX_DUMP_MEMORY &&
1956 phba->sysfs_mbox.mbox->mb.mbxCommand != 1956 phba->sysfs_mbox.mbox->mb.mbxCommand !=
1957 MBX_RESTART)) { 1957 MBX_RESTART &&
1958 phba->sysfs_mbox.mbox->mb.mbxCommand !=
1959 MBX_WRITE_VPARMS)) {
1958 sysfs_mbox_idle(phba); 1960 sysfs_mbox_idle(phba);
1959 spin_unlock_irq(&phba->hbalock); 1961 spin_unlock_irq(&phba->hbalock);
1960 return -EPERM; 1962 return -EPERM;
@@ -1962,7 +1964,11 @@ sysfs_mbox_read(struct kobject *kobj, struct bin_attribute *bin_attr,
1962 1964
1963 phba->sysfs_mbox.mbox->vport = vport; 1965 phba->sysfs_mbox.mbox->vport = vport;
1964 1966
1965 if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO) { 1967 /* Don't allow mailbox commands to be sent when blocked
1968 * or when in the middle of discovery
1969 */
1970 if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO ||
1971 vport->fc_flag & FC_NDISC_ACTIVE) {
1966 sysfs_mbox_idle(phba); 1972 sysfs_mbox_idle(phba);
1967 spin_unlock_irq(&phba->hbalock); 1973 spin_unlock_irq(&phba->hbalock);
1968 return -EAGAIN; 1974 return -EAGAIN;