diff --git a/ap/os/linux/linux-3.4.x/drivers/net/wireless/aic8800d80l/aicwf_sdio.c b/ap/os/linux/linux-3.4.x/drivers/net/wireless/aic8800d80l/aicwf_sdio.c
index f67ee05..177bb92 100755
--- a/ap/os/linux/linux-3.4.x/drivers/net/wireless/aic8800d80l/aicwf_sdio.c
+++ b/ap/os/linux/linux-3.4.x/drivers/net/wireless/aic8800d80l/aicwf_sdio.c
@@ -2113,26 +2113,28 @@
         sdio_release_host(sdiodev->func);
         return ret;
     }
-    sdio_f0_writeb(sdiodev->func, 0x00, 0xF1, &ret);
+    //zw.wang WiFi low temperature -40 degrees failure on 20240604 on start
+    sdio_f0_writeb(sdiodev->func, 0x80, 0xF1, &ret);
 	
     if (ret) {
         sdio_err("set iopad delay1 fail %d\n", ret);
         sdio_release_host(sdiodev->func);
         return ret;
     }
-	sdio_f0_writeb(sdiodev->func, 0x20, 0xF3, &ret);
+	/*sdio_f0_writeb(sdiodev->func, 0x20, 0xF3, &ret);
 	 if (ret) {
         sdio_err("set iopad delay3 fail %d\n", ret);
         sdio_release_host(sdiodev->func);
         return ret;
-    }
+    }*/
     msleep(1);
-#if 0//SDIO CLOCK SETTING
+#if 1//SDIO CLOCK SETTING
 	if ((sdio_clock > 0) && (host->ios.timing != MMC_TIMING_UHS_DDR50)) {
 		host->ios.clock = sdio_clock;
 		host->ops->set_ios(host, &host->ios);
 		sdio_dbg("Set SDIO Clock %d MHz\n", host->ios.clock/1000000);
 	}
+    //zw.wang WiFi low temperature -40 degrees failure on 20240604 on start
 #endif
 #endif
 	sdio_dbg("Set SDIO Clock %d MHz\n", host->ios.clock/1000000);
