diff options
author | James Smart <james.smart@emulex.com> | 2010-10-22 11:06:56 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-10-26 11:42:27 -0400 |
commit | 5989b8d4dc0367a8c07cd1545dbad590a6de989d (patch) | |
tree | bb74cf25232c61538a499e7a5d5624a54a0b67a8 /drivers/scsi/lpfc/lpfc_attr.c | |
parent | 5af5eee7ca4051d8ca31edeb5216831da9625b5c (diff) |
[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.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index f681eea57730..c1cbec01345d 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, | |||
3789 | break; | 3789 | break; |
3790 | case MBX_SECURITY_MGMT: | 3790 | case MBX_SECURITY_MGMT: |
3791 | case MBX_AUTH_PORT: | 3791 | case MBX_AUTH_PORT: |
3792 | if (phba->pci_dev_grp == LPFC_PCI_DEV_OC) | 3792 | if (phba->pci_dev_grp == LPFC_PCI_DEV_OC) { |
3793 | printk(KERN_WARNING "mbox_read:Command 0x%x " | ||
3794 | "is not permitted\n", pmb->mbxCommand); | ||
3795 | sysfs_mbox_idle(phba); | ||
3796 | spin_unlock_irq(&phba->hbalock); | ||
3793 | return -EPERM; | 3797 | return -EPERM; |
3798 | } | ||
3794 | break; | 3799 | break; |
3795 | case MBX_READ_SPARM64: | 3800 | case MBX_READ_SPARM64: |
3796 | case MBX_READ_LA: | 3801 | case MBX_READ_LA: |