Merge "Close file descriptors for socket appropriately during SoftAP disconnect."
diff --git a/softap/sdk/qsap.c b/softap/sdk/qsap.c
old mode 100644
new mode 100755
index 9260497..c077fb8
--- a/softap/sdk/qsap.c
+++ b/softap/sdk/qsap.c
@@ -66,24 +66,27 @@
#define WIFI_DRIVER_MODULE_NAME "wlan"
#endif
-#ifndef WIFI_SDIO_IF_DRIVER_MODULE_PATH
-#define WIFI_SDIO_IF_DRIVER_MODULE_PATH "/system/lib/modules/librasdioif.ko"
-#endif
-
-#ifndef WIFI_SDIO_IF_DRIVER_MODULE_NAME
-#define WIFI_SDIO_IF_DRIVER_MODULE_NAME "librasdioif"
-#endif
-
-#ifndef WIFI_SDIO_IF_DRIVER_MODULE_ARG
-#define WIFI_SDIO_IF_DRIVER_MODULE_ARG ""
-#endif
-
#ifdef WIFI_DRIVER_MODULE_ARG
#undef WIFI_DRIVER_MODULE_ARG
#endif
#define WIFI_DRIVER_MODULE_ARG "con_mode=1"
+/* WIFI_SDIO_IF_DRIVER_MODULE_NAME must be defined if sdioif driver required */
+#ifdef WIFI_SDIO_IF_DRIVER_MODULE_NAME
+
+#ifndef WIFI_SDIO_IF_DRIVER_MODULE_PATH
+#define WIFI_SDIO_IF_DRIVER_MODULE_PATH "/system/lib/modules/librasdioif.ko"
+#endif
+
+
+#ifndef WIFI_SDIO_IF_DRIVER_MODULE_ARG
+#define WIFI_SDIO_IF_DRIVER_MODULE_ARG ""
+#endif
+
+#endif
+
+
extern int init_module(const char *name, u32, const s8 *);
extern int delete_module(const char *name, int);
@@ -189,28 +192,28 @@
LOGE("Could not turn on the polling...");
}
- if (sizeof(WIFI_SDIO_IF_DRIVER_MODULE_PATH) > 0) {
- ret = insmod(WIFI_SDIO_IF_DRIVER_MODULE_PATH, WIFI_SDIO_IF_DRIVER_MODULE_ARG, WIFI_SDIO_IF_DRIVER_MODULE_NAME " ");
+#ifdef WIFI_SDIO_IF_DRIVER_MODULE_NAME
+ ret = insmod(WIFI_SDIO_IF_DRIVER_MODULE_PATH, WIFI_SDIO_IF_DRIVER_MODULE_ARG, WIFI_SDIO_IF_DRIVER_MODULE_NAME " ");
- if ( ret != 0 ) {
- LOGE("init_module failed sdioif\n");
- ret = eERR_LOAD_FAILED_SDIOIF;
- goto end;
- }
-
- sched_yield();
+ if ( ret != 0 ) {
+ LOGE("init_module failed sdioif\n");
+ ret = eERR_LOAD_FAILED_SDIOIF;
+ goto end;
}
+ sched_yield();
+#endif
+
ret = insmod(WIFI_DRIVER_MODULE_PATH, WIFI_DRIVER_MODULE_ARG, WIFI_DRIVER_MODULE_NAME " ");
if ( ret != 0 ) {
- if (sizeof(WIFI_SDIO_IF_DRIVER_MODULE_PATH) > 0) {
- if ( check_driver_loaded(WIFI_SDIO_IF_DRIVER_MODULE_NAME " ") ) {
- if ( rmmod(WIFI_SDIO_IF_DRIVER_MODULE_NAME) ) {
- LOGE("Unable to unload the station mode librasdioif driver\n");
- }
+#ifdef WIFI_SDIO_IF_DRIVER_MODULE_NAME
+ if ( check_driver_loaded(WIFI_SDIO_IF_DRIVER_MODULE_NAME " ") ) {
+ if ( rmmod(WIFI_SDIO_IF_DRIVER_MODULE_NAME) ) {
+ LOGE("Unable to unload the station mode librasdioif driver\n");
}
}
+#endif
LOGE("init_module failed libra_softap\n");
ret = eERR_LOAD_FAILED_SOFTAP;
goto end;
@@ -281,6 +284,7 @@
sched_yield();
+#ifdef WIFI_SDIO_IF_DRIVER_MODULE_NAME
if ( check_driver_loaded(WIFI_SDIO_IF_DRIVER_MODULE_NAME " ") ) {
if ( rmmod(WIFI_SDIO_IF_DRIVER_MODULE_NAME) ) {
LOGE("Unable to unload the station mode librasdioif driver\n");
@@ -288,6 +292,7 @@
goto end;
}
}
+#endif
end:
if(system(SDIO_POLLING_OFF)) {
@@ -316,6 +321,7 @@
sched_yield();
+#ifdef WIFI_SDIO_IF_DRIVER_MODULE_NAME
if ( check_driver_loaded(WIFI_SDIO_IF_DRIVER_MODULE_NAME " ") ) {
if ( rmmod(WIFI_SDIO_IF_DRIVER_MODULE_NAME) ) {
LOGE("Unable to unload the librasdioif driver\n");
@@ -323,6 +329,8 @@
goto end;
}
}
+#endif
+
end:
if(system(SDIO_POLLING_OFF)) {
LOGE("Could not turn off the polling...");