环境说明
系统:Centos7 (3.10.0)
驱动版本:00014996-RTL8192EU_linux_v5.6.3.1_34030_COEX20171113-0047.20190613.zip
网卡:Realtek RTL8192EU
错误log
/home/w1206/RTL8192EU_linux_v5.6.3.1_34030_COEX20171113-0047.20190613/driver/rtl8192EU_WiFi_linux_v5.6.3.1_34030.20190613_COEX20171113-0047/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_scan_done’:
/home/w1206/RTL8192EU_linux_v5.6.3.1_34030_COEX20171113-0047.20190613/driver/rtl8192EU_WiFi_linux_v5.6.3.1_34030.20190613_COEX20171113-0047/os_dep/linux/ioctl_cfg80211.c:2495:4: error: incompatible type for argument 2 of ‘cfg80211_scan_done’
cfg80211_scan_done(pwdev_priv->scan_request, aborted);
解决方案
修改ioctl_cfg80211.c文件
@@ -2471,13 +2492,13 @@
{
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
_irqL irqL;
-
-#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
- struct cfg80211_scan_info info;
-
- memset(&info, 0, sizeof(info));
- info.aborted = aborted;
-#endif
+#if (KERNEL_VERSION(3, 10, 0) <= LINUX_VERSION_CODE) //change by wellnw 20211213
+ struct cfg80211_scan_info info;
+
+ memset(&info, 0, sizeof(info));
+ info.aborted = aborted;
+#endif
+
_enter_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
if (pwdev_priv->scan_request != NULL) {
@@ -2489,11 +2510,12 @@
if (pwdev_priv->scan_request->wiphy != pwdev_priv->rtw_wdev->wiphy)
RTW_INFO("error wiphy compare\n");
else
-#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
- cfg80211_scan_done(pwdev_priv->scan_request, &info);
+#if (KERNEL_VERSION(3, 10, 0) <= LINUX_VERSION_CODE) //change by wellnw 20211213
+ cfg80211_scan_done(pwdev_priv->scan_request, &info);
#else
- cfg80211_scan_done(pwdev_priv->scan_request, aborted);
-#endif
+ cfg80211_scan_done(pwdev_priv->scan_request, aborted);
+#endif
+
pwdev_priv->scan_request = NULL;
} else {