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>
        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;
                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.
                 */