linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the wireless-next tree with the  tree
@ 2013-08-27  4:36 Stephen Rothwell
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Rothwell @ 2013-08-27  4:36 UTC (permalink / raw)
  To: John W. Linville
  Cc: linux-next, linux-kernel, Simon Wunderlich, Johannes Berg

[-- Attachment #1: Type: text/plain, Size: 3768 bytes --]

Hi John,

Today's linux-next merge of the wireless-next tree got a conflict in
net/mac80211/ibss.c between commit 75a423f493ff ("mac80211: ibss: fix
ignored channel parameter") from the wireless tree and commit
d51b70ff5122 ("mac80211: move ibss presp generation in own function")
from the wireless-next tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc net/mac80211/ibss.c
index cb73baf,74de0f1..0000000
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@@ -246,6 -191,90 +191,93 @@@ ieee80211_ibss_build_presp(struct ieee8
  
  	presp->head_len = pos - presp->head;
  	if (WARN_ON(presp->head_len > frame_len))
+ 		goto error;
+ 
+ 	return presp;
+ error:
+ 	kfree(presp);
+ 	return NULL;
+ }
+ 
+ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
+ 				      const u8 *bssid, const int beacon_int,
 -				      struct ieee80211_channel *chan,
++				      struct cfg80211_chan_def *req_chandef,
+ 				      const u32 basic_rates,
+ 				      const u16 capability, u64 tsf,
+ 				      bool creator)
+ {
+ 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
+ 	struct ieee80211_local *local = sdata->local;
+ 	struct ieee80211_supported_band *sband;
+ 	struct ieee80211_mgmt *mgmt;
+ 	struct cfg80211_bss *bss;
+ 	u32 bss_change;
+ 	struct cfg80211_chan_def chandef;
++	struct ieee80211_channel *chan;
+ 	struct beacon_data *presp;
+ 	enum nl80211_bss_scan_width scan_width;
+ 	bool have_higher_than_11mbit;
+ 
+ 	sdata_assert_lock(sdata);
+ 
+ 	/* Reset own TSF to allow time synchronization work. */
+ 	drv_reset_tsf(local, sdata);
+ 
+ 	if (!ether_addr_equal(ifibss->bssid, bssid))
+ 		sta_info_flush(sdata);
+ 
+ 	/* if merging, indicate to driver that we leave the old IBSS */
+ 	if (sdata->vif.bss_conf.ibss_joined) {
+ 		sdata->vif.bss_conf.ibss_joined = false;
+ 		sdata->vif.bss_conf.ibss_creator = false;
+ 		sdata->vif.bss_conf.enable_beacon = false;
+ 		netif_carrier_off(sdata->dev);
+ 		ieee80211_bss_info_change_notify(sdata,
+ 						 BSS_CHANGED_IBSS |
+ 						 BSS_CHANGED_BEACON_ENABLED);
+ 	}
+ 
+ 	presp = rcu_dereference_protected(ifibss->presp,
+ 					  lockdep_is_held(&sdata->wdev.mtx));
+ 	rcu_assign_pointer(ifibss->presp, NULL);
+ 	if (presp)
+ 		kfree_rcu(presp, rcu_head);
+ 
+ 	sdata->drop_unencrypted = capability & WLAN_CAPABILITY_PRIVACY ? 1 : 0;
+ 
 -	chandef = ifibss->chandef;
++	/* make a copy of the chandef, it could be modified below. */
++	chandef = *req_chandef;
++	chan = chandef.chan;
+ 	if (!cfg80211_reg_can_beacon(local->hw.wiphy, &chandef)) {
+ 		if (chandef.width == NL80211_CHAN_WIDTH_5 ||
+ 		    chandef.width == NL80211_CHAN_WIDTH_10 ||
+ 		    chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
+ 		    chandef.width == NL80211_CHAN_WIDTH_20) {
+ 			sdata_info(sdata,
+ 				   "Failed to join IBSS, beacons forbidden\n");
+ 			return;
+ 		}
+ 		chandef.width = NL80211_CHAN_WIDTH_20;
+ 		chandef.center_freq1 = chan->center_freq;
+ 	}
+ 
+ 	ieee80211_vif_release_channel(sdata);
+ 	if (ieee80211_vif_use_channel(sdata, &chandef,
+ 				      ifibss->fixed_channel ?
+ 					IEEE80211_CHANCTX_SHARED :
+ 					IEEE80211_CHANCTX_EXCLUSIVE)) {
+ 		sdata_info(sdata, "Failed to join IBSS, no channel context\n");
+ 		return;
+ 	}
+ 
+ 	memcpy(ifibss->bssid, bssid, ETH_ALEN);
+ 
+ 	sband = local->hw.wiphy->bands[chan->band];
+ 
+ 	presp = ieee80211_ibss_build_presp(sdata, beacon_int, basic_rates,
+ 					   capability, tsf, &chandef,
+ 					   &have_higher_than_11mbit);
+ 	if (!presp)
  		return;
  
  	rcu_assign_pointer(ifibss->presp, presp);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux-next: manual merge of the wireless-next tree with the tree
  2011-12-21  1:49 Stephen Rothwell
@ 2011-12-21 10:47 ` Arend van Spriel
  0 siblings, 0 replies; 3+ messages in thread
From: Arend van Spriel @ 2011-12-21 10:47 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: John W. Linville, linux-next, linux-kernel, Rusty Russell,
	David Miller, netdev, Franky (Zhenhui) Lin

On 12/21/2011 02:49 AM, Stephen Rothwell wrote:
> Hi John,
> 
> Today's linux-next merge of the wireless-next tree got a conflict in
> drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c between commit
> 3db1cd5c05f3 ("net: fix assignment of 0/1 to bool variables") from the
> tree and commit 3fb1d8d2dad3 ("brcm80211: fmac: move driver up status to
> struct brcmf_bus") from the wireless-next tree.
> 
> I fixed it up (see below) and can carry the fix as necessary.
> 

Thanks, Stephen

I noticed Rusty's patch and the use of 0/1 for bool in our tree. Was
going to fix that, but this fix looks fine.

Gr. AvS

^ permalink raw reply	[flat|nested] 3+ messages in thread

* linux-next: manual merge of the wireless-next tree with the  tree
@ 2011-12-21  1:49 Stephen Rothwell
  2011-12-21 10:47 ` Arend van Spriel
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Rothwell @ 2011-12-21  1:49 UTC (permalink / raw)
  To: John W. Linville
  Cc: linux-next, linux-kernel, Rusty Russell, David Miller, netdev,
	Franky Lin

[-- Attachment #1: Type: text/plain, Size: 1372 bytes --]

Hi John,

Today's linux-next merge of the wireless-next tree got a conflict in
drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c between commit
3db1cd5c05f3 ("net: fix assignment of 0/1 to bool variables") from the
tree and commit 3fb1d8d2dad3 ("brcm80211: fmac: move driver up status to
struct brcmf_bus") from the wireless-next tree.

I fixed it up (see below) and can carry the fix as necessary.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index 2c3a99d,72bee2c..0000000
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@@ -805,7 -784,7 +784,7 @@@ static int brcmf_netdev_stop(struct net
  		return 0;
  
  	/* Set state and stop OS transmissions */
- 	drvr->up = false;
 -	drvr->bus_if->drvr_up = 0;
++	drvr->bus_if->drvr_up = false;
  	netif_stop_queue(ndev);
  
  	return 0;
@@@ -842,8 -821,8 +821,8 @@@ static int brcmf_netdev_open(struct net
  	}
  	/* Allow transmit calls */
  	netif_start_queue(ndev);
- 	drvr_priv->pub.up = true;
- 	if (brcmf_cfg80211_up(drvr_priv->pub.config)) {
 -	drvr->bus_if->drvr_up = 1;
++	drvr->bus_if->drvr_up = true;
+ 	if (brcmf_cfg80211_up(drvr->config)) {
  		brcmf_dbg(ERROR, "failed to bring up cfg80211\n");
  		return -1;
  	}

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-27  4:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-27  4:36 linux-next: manual merge of the wireless-next tree with the tree Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2011-12-21  1:49 Stephen Rothwell
2011-12-21 10:47 ` Arend van Spriel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).