Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 468388 | Differences between
and this patch

Collapse All | Expand All

(-)/src/include/bcmutils.h~ (+4 lines)
Lines 555-561 extern void printbig(char *buf); Link Here
555
extern void prhex(const char *msg, uchar *buf, uint len);
555
extern void prhex(const char *msg, uchar *buf, uint len);
556
556
557
extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
557
extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
558
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
558
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
559
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
560
#else
561
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
562
#endif
559
extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
563
extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
560
564
561
extern const char *bcmerrorstr(int bcmerror);
565
extern const char *bcmerrorstr(int bcmerror);
(-)/src/wl/sys/wl_cfg80211.c~ (-5 / +28 lines)
Lines 744-750 wl_cfg80211_join_ibss(struct wiphy *wiph Link Here
744
	else
744
	else
745
		memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
745
		memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
746
746
747
	wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
747
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
748
 	wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
749
#else
750
	wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
751
#endif
748
752
749
	err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
753
	err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
750
	if (err) {
754
	if (err) {
Lines 2047-2055 static s32 wl_update_bss_info(struct wl_ Link Here
2047
	struct bcm_tlv *tim;
2051
	struct bcm_tlv *tim;
2048
	u16 beacon_interval;
2052
	u16 beacon_interval;
2049
	s32 dtim_period;
2053
	s32 dtim_period;
2050
	size_t ie_len;
2051
	u8 *ie;
2052
	s32 err = 0;
2054
	s32 err = 0;
2055
 	size_t ie_len;
2056
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
2057
 	u8 *ie;
2058
#else
2059
	const u8 *ie;
2060
	const struct cfg80211_bss_ies *ies;
2061
#endif
2053
2062
2054
	ssid = &wl->profile->ssid;
2063
	ssid = &wl->profile->ssid;
2055
	bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
2064
	bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
Lines 2079-2086 static s32 wl_update_bss_info(struct wl_ Link Here
2079
		beacon_interval = cpu_to_le16(bi->beacon_period);
2088
		beacon_interval = cpu_to_le16(bi->beacon_period);
2080
	} else {
2089
	} else {
2081
		WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
2090
		WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
2082
		ie = bss->information_elements;
2091
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
2083
		ie_len = bss->len_information_elements;
2092
 		ie = bss->information_elements;
2093
 		ie_len = bss->len_information_elements;
2094
#else
2095
		rcu_read_lock();
2096
		ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
2097
		if (!ies) {
2098
			/* This should never happen */
2099
			rcu_read_unlock();
2100
			err = -EIO;
2101
			goto update_bss_info_out;
2102
		}
2103
		ie = ies->data;
2104
		ie_len = (size_t)(ies->len);
2105
		rcu_read_unlock();
2106
#endif
2084
		beacon_interval = bss->beacon_interval;
2107
		beacon_interval = bss->beacon_interval;
2085
		cfg80211_put_bss(bss);
2108
		cfg80211_put_bss(bss);
2086
	}
2109
	}

Return to bug 468388