[WCNCR00156115][MT7668S][Bluez]Driver crash after FW crash and user remove driver

[Description]
Fix Driver crash after FW crash and user remove driver and a2dp unpair fail issue.

CR-Id: WCNCR00156115
diff --git a/btmtk_main.c b/btmtk_main.c
index 4d5c398..bf659d8 100644
--- a/btmtk_main.c
+++ b/btmtk_main.c
@@ -361,7 +361,10 @@
 
 
         BTMTK_INFO("%s stop main_thread\n", __func__);
-        kthread_stop(priv->main_thread.task);
+
+        if(!PTR_ERR(priv->main_thread.task))
+            kthread_stop(priv->main_thread.task);
+
         BTMTK_INFO("%s stop main_thread done\n", __func__);
 #ifdef CONFIG_DEBUG_FS
         /*btmtk_debugfs_remove(hdev);*/
diff --git a/btmtk_sdio.c b/btmtk_sdio.c
index d8a5b2e..ab81b8d 100644
--- a/btmtk_sdio.c
+++ b/btmtk_sdio.c
@@ -1457,7 +1457,7 @@
         ret = btmtk_sdio_readl(CHISR, &u32ReadCRValue);
         BTMTK_DBG("%s check TX_EMPTY CHISR 0x%08x\n", __func__, u32ReadCRValue);
         if (TX_EMPTY&u32ReadCRValue) {
-            ret = btmtk_sdio_writel(CHISR, TX_EMPTY);
+            ret = btmtk_sdio_writel(CHISR, (TX_EMPTY | TX_COMPLETE_COUNT));
             priv->btmtk_dev.tx_dnld_rdy = true;
             BTMTK_DBG("%s set tx_dnld_rdy 1\n", __func__);
         }
diff --git a/btmtk_sdio.h b/btmtk_sdio.h
index 0ba8959..0eb02a0 100644
--- a/btmtk_sdio.h
+++ b/btmtk_sdio.h
@@ -19,7 +19,7 @@
  *
  **/
 
-#define VERSION "v0.0.0.26"
+#define VERSION "v0.0.0.27"
 
 #define SDIO_HEADER_LEN                 4