Bläddra i källkod

qcacld-3.0: Fix HDD Bus suspend/resume API issues

While implementing the fix for "qcacld-3.0: Fix wlan_hdd_driver_ops
kernel-doc" it was observed that the kernel-doc for functions
wlan_hdd_bus_suspend() and wlan_hdd_bus_resume() did not match the
function signatures. Update the kernel-doc to match the actual code,
and in the case of wlan_hdd_bus_suspend() update one call in
hdd_enable_ext_wow() to align with the real interface instead of the
previously documented interface.

Change-Id: I6f25c954f5328a029fadeceadc23cfc242de6bf7
CRs-Fixed: 2025169
Jeff Johnson 8 år sedan
förälder
incheckning
17d62673a9
2 ändrade filer med 24 tillägg och 24 borttagningar
  1. 4 4
      core/hdd/inc/wlan_hdd_driver_ops.h
  2. 20 20
      core/hdd/src/wlan_hdd_ioctl.c

+ 4 - 4
core/hdd/inc/wlan_hdd_driver_ops.h

@@ -64,7 +64,7 @@ void wlan_hdd_unregister_driver(void);
  * This function is called by the platform driver to suspend the
  * wlan bus
  *
- * Return: QDF_STATUS
+ * Return: 0 on success, negative errno on error
  */
 int wlan_hdd_bus_suspend(void);
 
@@ -81,17 +81,17 @@ int wlan_hdd_bus_suspend(void);
 int wlan_hdd_bus_suspend_noirq(void);
 
 /**
- * wlan_hdd_bus_resume(): wake up the bus
+ * wlan_hdd_bus_resume() - wake up the bus
  *
  * This function is called by the platform driver to resume wlan
  * bus
  *
- * Return: void
+ * Return: 0 for success and negative errno if failure
  */
 int wlan_hdd_bus_resume(void);
 
 /**
- * wlan_hdd_bus_resume_noirq(): handle bus resume no irq
+ * wlan_hdd_bus_resume_noirq() - handle bus resume no irq
  *
  * This function is called by the platform driver to do bus
  * resume no IRQ before calling resume callback. Call WMA and HIF

+ 20 - 20
core/hdd/src/wlan_hdd_ioctl.c

@@ -1883,7 +1883,7 @@ static int hdd_enable_ext_wow(hdd_adapter_t *adapter,
 			      tpSirExtWoWParams arg_params)
 {
 	tSirExtWoWParams params;
-	QDF_STATUS qdf_ret_status = QDF_STATUS_E_FAILURE;
+	QDF_STATUS qdf_ret_status;
 	hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
 	tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(adapter);
 	int rc;
@@ -1908,29 +1908,29 @@ static int hdd_enable_ext_wow(hdd_adapter_t *adapter,
 		return -EPERM;
 	}
 
-	if (hdd_ctx->ext_wow_should_suspend) {
-		if (hdd_ctx->config->extWowGotoSuspend) {
-			hdd_info("Received ready to ExtWoW. Going to suspend");
-
-			rc = wlan_hdd_cfg80211_suspend_wlan(hdd_ctx->wiphy, NULL);
-			if (rc < 0) {
-				hdd_err("wlan_hdd_cfg80211_suspend_wlan failed, error = %d",
-					 rc);
-				return rc;
-			}
-			qdf_ret_status = wlan_hdd_bus_suspend();
-			if (qdf_ret_status != QDF_STATUS_SUCCESS) {
-				hdd_err("wlan_hdd_suspend failed, status = %d",
-					 qdf_ret_status);
-				wlan_hdd_cfg80211_resume_wlan(hdd_ctx->wiphy);
-				return -EPERM;
-			}
-		}
-	} else {
+	if (!hdd_ctx->ext_wow_should_suspend) {
 		hdd_err("Received ready to ExtWoW failure");
 		return -EPERM;
 	}
 
+	if (hdd_ctx->config->extWowGotoSuspend) {
+		hdd_info("Received ready to ExtWoW. Going to suspend");
+
+		rc = wlan_hdd_cfg80211_suspend_wlan(hdd_ctx->wiphy, NULL);
+		if (rc < 0) {
+			hdd_err("wlan_hdd_cfg80211_suspend_wlan failed, error = %d",
+				rc);
+			return rc;
+		}
+		rc = wlan_hdd_bus_suspend();
+		if (rc) {
+			hdd_err("wlan_hdd_bus_suspend failed, status = %d",
+				rc);
+			wlan_hdd_cfg80211_resume_wlan(hdd_ctx->wiphy);
+			return rc;
+		}
+	}
+
 	return 0;
 }