wok annotate broadcom-wl64/stuff/3.8.0.patch @ rev 25037

Up glza (0.11.4)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat May 21 21:38:29 2022 +0000 (2022-05-21)
parents
children
rev   line source
pascal@20393 1 Description: Kernel 3.8 compatibility
pascal@20393 2 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702788
pascal@20393 3 Last-Update: 2013-03-08
pascal@20393 4
pascal@20393 5 --- a/amd64/src/include/bcmutils.h
pascal@20393 6 +++ b/amd64/src/include/bcmutils.h
pascal@20393 7 @@ -555,7 +555,11 @@
pascal@20393 8 extern void prhex(const char *msg, uchar *buf, uint len);
pascal@20393 9
pascal@20393 10 extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
pascal@20393 11 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
pascal@20393 12 extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
pascal@20393 13 +#else
pascal@20393 14 +extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
pascal@20393 15 +#endif
pascal@20393 16 extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
pascal@20393 17
pascal@20393 18 extern const char *bcmerrorstr(int bcmerror);
pascal@20393 19 --- a/amd64/src/wl/sys/wl_cfg80211.c
pascal@20393 20 +++ b/amd64/src/wl/sys/wl_cfg80211.c
pascal@20393 21 @@ -754,7 +754,11 @@
pascal@20393 22 else
pascal@20393 23 memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
pascal@20393 24
pascal@20393 25 - wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
pascal@20393 26 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
pascal@20393 27 + wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
pascal@20393 28 +#else
pascal@20393 29 + wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
pascal@20393 30 +#endif
pascal@20393 31
pascal@20393 32 err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
pascal@20393 33 if (err) {
pascal@20393 34 @@ -2054,9 +2058,14 @@
pascal@20393 35 struct bcm_tlv *tim;
pascal@20393 36 u16 beacon_interval;
pascal@20393 37 s32 dtim_period;
pascal@20393 38 - size_t ie_len;
pascal@20393 39 - u8 *ie;
pascal@20393 40 s32 err = 0;
pascal@20393 41 + size_t ie_len;
pascal@20393 42 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
pascal@20393 43 + u8 *ie;
pascal@20393 44 +#else
pascal@20393 45 + const u8 *ie;
pascal@20393 46 + const struct cfg80211_bss_ies *ies;
pascal@20393 47 +#endif
pascal@20393 48
pascal@20393 49 ssid = &wl->profile->ssid;
pascal@20393 50 bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
pascal@20393 51 @@ -2086,8 +2095,22 @@
pascal@20393 52 beacon_interval = cpu_to_le16(bi->beacon_period);
pascal@20393 53 } else {
pascal@20393 54 WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
pascal@20393 55 - ie = bss->information_elements;
pascal@20393 56 - ie_len = bss->len_information_elements;
pascal@20393 57 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
pascal@20393 58 + ie = bss->information_elements;
pascal@20393 59 + ie_len = bss->len_information_elements;
pascal@20393 60 +#else
pascal@20393 61 + rcu_read_lock();
pascal@20393 62 + ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
pascal@20393 63 + if (!ies) {
pascal@20393 64 + /* This should never happen */
pascal@20393 65 + rcu_read_unlock();
pascal@20393 66 + err = -EIO;
pascal@20393 67 + goto update_bss_info_out;
pascal@20393 68 + }
pascal@20393 69 + ie = ies->data;
pascal@20393 70 + ie_len = (size_t)(ies->len);
pascal@20393 71 + rcu_read_unlock();
pascal@20393 72 +#endif
pascal@20393 73 beacon_interval = bss->beacon_interval;
pascal@20393 74 cfg80211_put_bss(bss);
pascal@20393 75 }