[SCSI] lpfc: Return -EINVAL, -EPERM, and -EIO instead of 0 from sysfs callbacks

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index a69013a..45c2ba7 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -245,8 +245,6 @@
 	struct Scsi_Host *host = class_to_shost(cdev);
 	struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata[0];
 
-	if (!phba) return 0;
-
 	if (phba->fc_flag & FC_OFFLINE_MODE)
 		return snprintf(buf, PAGE_SIZE, "0\n");
 	else
@@ -263,7 +261,7 @@
 	int val=0, status=0;
 
 	if (sscanf(buf, "%d", &val) != 1)
-		return 0;
+		return -EINVAL;
 
 	init_completion(&online_compl);
 
@@ -277,7 +275,7 @@
 	if (!status)
 		return strlen(buf);
 	else
-		return 0;
+		return -EIO;
 }
 
 
@@ -293,7 +291,7 @@
 		return snprintf(buf, PAGE_SIZE, "%d\n",\
 				phba->cfg_##attr);\
 	}\
-	return 0;\
+	return -EPERM;\
 }
 
 #define lpfc_param_store(attr, minval, maxval)	\
@@ -308,13 +306,11 @@
 	if (sscanf(buf, "0x%x", &val) != 1)\
 		if (sscanf(buf, "%d", &val) != 1)\
 			return -EINVAL;\
-	if (phba){\
-		if (val >= minval && val <= maxval) {\
-			phba->cfg_##attr = val;\
-			return strlen(buf);\
-		}\
+	if (val >= minval && val <= maxval) {\
+		phba->cfg_##attr = val;\
+		return strlen(buf);\
 	}\
-	return 0;\
+	return -EINVAL;\
 }
 
 #define LPFC_ATTR_R_NOINIT(name, desc) \