aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_attr.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-10-22 11:06:56 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-10-26 10:42:27 -0500
commit5989b8d4dc0367a8c07cd1545dbad590a6de989d (patch)
treebb74cf25232c61538a499e7a5d5624a54a0b67a8 /drivers/scsi/lpfc/lpfc_attr.c
parent5af5eee7ca4051d8ca31edeb5216831da9625b5c (diff)
downloadkernel_samsung_smdk4412-5989b8d4dc0367a8c07cd1545dbad590a6de989d.zip
kernel_samsung_smdk4412-5989b8d4dc0367a8c07cd1545dbad590a6de989d.tar.gz
kernel_samsung_smdk4412-5989b8d4dc0367a8c07cd1545dbad590a6de989d.tar.bz2
[SCSI] lpfc 8.3.18: Fix critical errors
Fix critical errors - Update send_scsi_event to validate pnode pointer active before copying the wwpn information. - Add a message, mailbox_idle, and unlock before failing SECURITY_MGMT or AUTH_PORT mailbox commands - Prevent spin_lock_irqsave from being called twice in a row. 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>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index f681eea..c1cbec0 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -3789,8 +3789,13 @@ sysfs_mbox_read(struct file *filp, struct kobject *kobj,
break;
case MBX_SECURITY_MGMT:
case MBX_AUTH_PORT:
- if (phba->pci_dev_grp == LPFC_PCI_DEV_OC)
+ if (phba->pci_dev_grp == LPFC_PCI_DEV_OC) {
+ printk(KERN_WARNING "mbox_read:Command 0x%x "
+ "is not permitted\n", pmb->mbxCommand);
+ sysfs_mbox_idle(phba);
+ spin_unlock_irq(&phba->hbalock);
return -EPERM;
+ }
break;
case MBX_READ_SPARM64:
case MBX_READ_LA: