The key is here: /home/joshis1/hybrid_wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: error: too few arguments to function ‘cfg80211_roamed’
If you check wl_cfg80211_hybrid.c ~line 2122
cfg80211_roamed(ndev,
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
NULL,
#endif
(u8 *)&wl->bssid, conn_info->req_ie, conn_info->req_ie_len,
conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
WL_DBG(("roaming result\n"));
}
Although I'm running RHEL6.5 with 2.6.32 it's running a version of net/cfg80211.h that expects the extra argument so I needed to change the line to:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)
- or just remove the if/endif completely. Unfortunate it doesn't stop there,that's about a dozen KERNEL_VERSION if's in wl_cfg80211_hybrid.c which need to be changed.
Once complete (you can test but running 'make' and going back and fixing the errors) it does compile and install fine. I'm running it now with WPA etc.. as expected. It seems it's just RedHat bringing in some cfg80211 from a more recent kernel into 2.6.32 that confuses the module.