scsi: lpfc: Fix lpfc_wwn_set return code check
authorJames Smart <jsmart2021@gmail.com>
Tue, 17 Jan 2017 20:31:56 +0000 (12:31 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 20 Jan 2017 23:53:21 +0000 (18:53 -0500)
When I reversed the patch to re-add the lpfc_soft_wwn parameter feature,
it re-added code that had a long-standing bug. (that's what I get I
guess :)

As Dan Carpenter pointed out - error checks looked at wrong polarity.  0
is success, -errno is failure. Updated checks.

Signed-off-by: James Smart <james.smart@broadcom.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_attr.c

index 6c104d7..50cf402 100644 (file)
@@ -2150,7 +2150,7 @@ lpfc_soft_wwpn_store(struct device *dev, struct device_attribute *attr,
        phba->soft_wwn_enable = 0;
 
        rc = lpfc_wwn_set(buf, cnt, wwpn);
-       if (!rc) {
+       if (rc) {
                /* not able to set wwpn, unlock it */
                phba->soft_wwn_enable = 1;
                return rc;
@@ -2231,7 +2231,7 @@ lpfc_soft_wwnn_store(struct device *dev, struct device_attribute *attr,
                return -EINVAL;
 
        rc = lpfc_wwn_set(buf, cnt, wwnn);
-       if (!rc) {
+       if (rc) {
                /* Allow wwnn to be set many times, as long as the enable
                 * is set. However, once the wwpn is set, everything locks.
                 */