linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-04-04  0:44 Stephen Rothwell
  2013-05-02  3:19 ` Stephen Rothwell
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2013-04-04  0:44 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Joe Perches, Gabor Juhos, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/rt2x00/rt2x00pci.c between commit 69a2bac8984c
("rt2x00: rt2x00pci: fix build error on Ralink RT3x5x SoCs") from the
wireless tree and commit 1f9061d27d3d ("drivers:net: dma_alloc_coherent:
use __GFP_ZERO instead of memset(, 0)") from the net-next tree.

The former moved the code modified by the latter into a different file,
so I added the following merge fix patch and can carry the fix as
necessary (no action is required).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 4 Apr 2013 11:42:05 +1100
Subject: [PATCH] drivers:net: fix up for code movement from rt2x00pci.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/net/wireless/rt2x00/rt2x00mmio.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00mmio.c b/drivers/net/wireless/rt2x00/rt2x00mmio.c
index d84a680..9fe9a36 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mmio.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mmio.c
@@ -123,12 +123,10 @@ static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev,
 	 */
 	addr = dma_alloc_coherent(rt2x00dev->dev,
 				  queue->limit * queue->desc_size,
-				  &dma, GFP_KERNEL);
+				  &dma, GFP_KERNEL | __GFP_ZERO);
 	if (!addr)
 		return -ENOMEM;
 
-	memset(addr, 0, queue->limit * queue->desc_size);
-
 	/*
 	 * Initialize all queue entries to contain valid addresses.
 	 */
-- 
1.8.1

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

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2013-04-04  0:44 linux-next: manual merge of the net-next tree with the wireless tree Stephen Rothwell
@ 2013-05-02  3:19 ` Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2013-05-02  3:19 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Joe Perches, Gabor Juhos, John W. Linville

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

Hi Dave,

On Thu, 4 Apr 2013 11:44:44 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the net-next tree got a conflict in
> drivers/net/wireless/rt2x00/rt2x00pci.c between commit 69a2bac8984c
> ("rt2x00: rt2x00pci: fix build error on Ralink RT3x5x SoCs") from the
> wireless tree and commit 1f9061d27d3d ("drivers:net: dma_alloc_coherent:
> use __GFP_ZERO instead of memset(, 0)") from the net-next tree.
> 
> The former moved the code modified by the latter into a different file,
> so I added the following merge fix patch and can carry the fix as
> necessary (no action is required).
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 4 Apr 2013 11:42:05 +1100
> Subject: [PATCH] drivers:net: fix up for code movement from rt2x00pci.c
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/net/wireless/rt2x00/rt2x00mmio.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/rt2x00/rt2x00mmio.c b/drivers/net/wireless/rt2x00/rt2x00mmio.c
> index d84a680..9fe9a36 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00mmio.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00mmio.c
> @@ -123,12 +123,10 @@ static int rt2x00pci_alloc_queue_dma(struct rt2x00_dev *rt2x00dev,
>  	 */
>  	addr = dma_alloc_coherent(rt2x00dev->dev,
>  				  queue->limit * queue->desc_size,
> -				  &dma, GFP_KERNEL);
> +				  &dma, GFP_KERNEL | __GFP_ZERO);
>  	if (!addr)
>  		return -ENOMEM;
>  
> -	memset(addr, 0, queue->limit * queue->desc_size);
> -
>  	/*
>  	 * Initialize all queue entries to contain valid addresses.
>  	 */

This merge fix patch seems to have got lost somewhere ...
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2014-07-24  2:47 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2014-07-24  2:47 UTC (permalink / raw)
  To: David Miller, netdev, John W. Linville
  Cc: linux-next, linux-kernel, Felix Fietkau, Johannes Berg

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/mac80211/cfg.c between commit fa8f136fe9a8 ("mac80211: fix crash on
getting sta info with uninitialized rate control") from the wireless
tree and commit b7ffbd7ef675 ("cfg80211: make ethtool the driver's
responsibility") from the net-next tree.

I fixed it up (the latter moved the code modified by the former, so I
removed the code and added the following patch) and can carry the fix
as necessary (no action is required).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 24 Jul 2014 12:32:49 +1000
Subject: [PATCH] mac80211: fix for code movement

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 net/mac80211/sta_info.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index f41177f58b30..c6ee2139fbc5 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1724,12 +1724,15 @@ void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
 {
 	struct ieee80211_sub_if_data *sdata = sta->sdata;
 	struct ieee80211_local *local = sdata->local;
-	struct rate_control_ref *ref = local->rate_ctrl;
+	struct rate_control_ref *ref = NULL;
 	struct timespec uptime;
 	u64 packets = 0;
 	u32 thr = 0;
 	int i, ac;
 
+	if (test_sta_flag(sta, WLAN_STA_RATE_CONTROL))
+		ref = local->rate_ctrl;
+
 	sinfo->generation = sdata->local->sta_generation;
 
 	sinfo->filled = STATION_INFO_INACTIVE_TIME |
-- 
2.0.1

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2014-07-23  2:00 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2014-07-23  2:00 UTC (permalink / raw)
  To: David Miller, netdev, John W. Linville
  Cc: linux-next, linux-kernel, Emmanuel Grumbach, David Spinadel

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/iwlwifi/mvm/mac80211.c between commit c6a21ff31994
("iwlwifi: mvm: fix merge damage") from the wireless tree and commit
fb98be5e9419 ("iwlwifi: mvm: add unified LMAC scan API") from the
net-next tree.

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

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

diff --cc drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 98556d03c1ed,2eb6ebee4467..000000000000
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@@ -303,6 -321,16 +321,9 @@@ int iwl_mvm_mac_setup_register(struct i
  		hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
  	}
  
 -	if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT &&
 -	    !iwlwifi_mod_params.uapsd_disable) {
 -		hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD;
 -		hw->uapsd_queues = IWL_UAPSD_AC_INFO;
 -		hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
 -	}
 -
+ 	if (mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_LMAC_SCAN)
+ 		hw->flags |= IEEE80211_SINGLE_HW_SCAN_ON_ALL_BANDS;
+ 
  	hw->sta_data_size = sizeof(struct iwl_mvm_sta);
  	hw->vif_data_size = sizeof(struct iwl_mvm_vif);
  	hw->chanctx_data_size = sizeof(u16);

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2014-05-23  3:45 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2014-05-23  3:45 UTC (permalink / raw)
  To: David Miller, netdev, John W. Linville
  Cc: linux-next, linux-kernel, Emmanuel Grumbach

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/iwlwifi/mvm/mac80211.c between commit 7bacc782270f
("iwlwifi: mvm: disable beacon filtering") from the wireless tree and
commit 73e5f2c5d762 ("iwlwifi: remove IWL_UCODE_TLV_FLAGS_BF_UPDATED
flag") from the net-next tree.

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

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

diff --cc drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 8735ef1f44ae,97c3deae6552..000000000000
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@@ -826,9 -825,8 +825,8 @@@ static int iwl_mvm_mac_add_interface(st
  	if (ret)
  		goto out_remove_mac;
  
 -	if (!mvm->bf_allowed_vif &&
 +	if (!mvm->bf_allowed_vif && false &&
- 	    vif->type == NL80211_IFTYPE_STATION && !vif->p2p &&
- 	    mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BF_UPDATED){
+ 	    vif->type == NL80211_IFTYPE_STATION && !vif->p2p) {
  		mvm->bf_allowed_vif = mvmvif;
  		vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER |
  				     IEEE80211_VIF_SUPPORTS_CQM_RSSI;

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2014-02-26  3:21 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2014-02-26  3:21 UTC (permalink / raw)
  To: David Miller, netdev, John W. Linville
  Cc: linux-next, linux-kernel, Felix Fietkau, Oleksij Rempel

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/ath/ath9k/recv.c between commit b7b146c9c9a0
("ath9k: fix invalid descriptor discarding") from the wireless tree and
commits 1274603646a8 ("ath9k: move ath9k_process_rate to common.c") and
6438696efa81 ("ath9k: move ath9k_rx_accept to common.c") from the
net-next tree.

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

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

diff --cc drivers/net/wireless/ath/ath9k/recv.c
index 82e340d3ec60,076dae1e5ab7..000000000000
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@@ -1055,8 -853,10 +857,8 @@@ static int ath9k_rx_skb_preprocess(stru
  	 * everything but the rate is checked here, the rate check is done
  	 * separately to avoid doing two lookups for a rate for each frame.
  	 */
- 	if (!ath9k_rx_accept(common, hdr, rx_status, rx_stats, decrypt_error))
 -	if (!ath9k_cmn_rx_accept(common, hdr, rx_status, rx_stats, decrypt_error, sc->rx.rxfilter)) {
 -		ret = -EINVAL;
 -		goto exit;
 -	}
++	if (!ath9k_cmn_rx_accept(common, hdr, rx_status, rx_stats, decrypt_error, sc->rx.rxfilter))
 +		return -EINVAL;
  
  	if (ath_is_mybeacon(common, hdr)) {
  		RX_STAT_INC(rx_beacons);
@@@ -1066,13 -866,24 +868,21 @@@
  	/*
  	 * This shouldn't happen, but have a safety check anyway.
  	 */
 -	if (WARN_ON(!ah->curchan)) {
 -		ret = -EINVAL;
 -		goto exit;
 -	}
 +	if (WARN_ON(!ah->curchan))
 +		return -EINVAL;
  
- 	if (ath9k_process_rate(common, hw, rx_stats, rx_status))
+ 	if (ath9k_cmn_process_rate(common, hw, rx_stats, rx_status)) {
+ 		/*
+ 		 * No valid hardware bitrate found -- we should not get here
+ 		 * because hardware has already validated this frame as OK.
+ 		 */
+ 		ath_dbg(common, ANY, "unsupported hw bitrate detected 0x%02x using 1 Mbit\n",
+ 			rx_stats->rs_rate);
+ 		RX_STAT_INC(rx_rate_err);
 -		ret =-EINVAL;
 -		goto exit;
 +		return -EINVAL;
+ 	}
  
- 	ath9k_process_rssi(common, hw, rx_stats, rx_status);
+ 	ath9k_cmn_process_rssi(common, hw, rx_stats, rx_status);
  
  	rx_status->band = ah->curchan->chan->band;
  	rx_status->freq = ah->curchan->chan->center_freq;
@@@ -1085,64 -896,11 +895,13 @@@
  		sc->rx.num_pkts++;
  #endif
  
 -exit:
 -	sc->rx.discard_next = false;
 -	return ret;
 +	return 0;
 +
 +corrupt:
 +	sc->rx.discard_next = rx_stats->rs_more;
 +	return -EINVAL;
  }
  
- static void ath9k_rx_skb_postprocess(struct ath_common *common,
- 				     struct sk_buff *skb,
- 				     struct ath_rx_status *rx_stats,
- 				     struct ieee80211_rx_status *rxs,
- 				     bool decrypt_error)
- {
- 	struct ath_hw *ah = common->ah;
- 	struct ieee80211_hdr *hdr;
- 	int hdrlen, padpos, padsize;
- 	u8 keyix;
- 	__le16 fc;
- 
- 	/* see if any padding is done by the hw and remove it */
- 	hdr = (struct ieee80211_hdr *) skb->data;
- 	hdrlen = ieee80211_get_hdrlen_from_skb(skb);
- 	fc = hdr->frame_control;
- 	padpos = ieee80211_hdrlen(fc);
- 
- 	/* The MAC header is padded to have 32-bit boundary if the
- 	 * packet payload is non-zero. The general calculation for
- 	 * padsize would take into account odd header lengths:
- 	 * padsize = (4 - padpos % 4) % 4; However, since only
- 	 * even-length headers are used, padding can only be 0 or 2
- 	 * bytes and we can optimize this a bit. In addition, we must
- 	 * not try to remove padding from short control frames that do
- 	 * not have payload. */
- 	padsize = padpos & 3;
- 	if (padsize && skb->len>=padpos+padsize+FCS_LEN) {
- 		memmove(skb->data + padsize, skb->data, padpos);
- 		skb_pull(skb, padsize);
- 	}
- 
- 	keyix = rx_stats->rs_keyix;
- 
- 	if (!(keyix == ATH9K_RXKEYIX_INVALID) && !decrypt_error &&
- 	    ieee80211_has_protected(fc)) {
- 		rxs->flag |= RX_FLAG_DECRYPTED;
- 	} else if (ieee80211_has_protected(fc)
- 		   && !decrypt_error && skb->len >= hdrlen + 4) {
- 		keyix = skb->data[hdrlen + 3] >> 6;
- 
- 		if (test_bit(keyix, common->keymap))
- 			rxs->flag |= RX_FLAG_DECRYPTED;
- 	}
- 	if (ah->sw_mgmt_crypto &&
- 	    (rxs->flag & RX_FLAG_DECRYPTED) &&
- 	    ieee80211_is_mgmt(fc))
- 		/* Use software decrypt for management frames. */
- 		rxs->flag &= ~RX_FLAG_DECRYPTED;
- }
- 
  /*
   * Run the LNA combining algorithm only in these cases:
   *

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2014-02-21  2:34 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2014-02-21  2:34 UTC (permalink / raw)
  To: David Miller, netdev, John W. Linville
  Cc: linux-next, linux-kernel, Amitkumar Karwar, Aaron Durbin

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/mwifiex/pcie.c between commit bb8e6a1ee881
("mwifiex: add NULL check for PCIe Rx skb") from the  tree and commit
dbccc92b5d54 ("mwifiex: balance dma map/unmap sizes") from the net-next
tree.

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

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

diff --cc drivers/net/wireless/mwifiex/pcie.c
index 7fe7b53fb17a,d11d4acf0890..000000000000
--- a/drivers/net/wireless/mwifiex/pcie.c
+++ b/drivers/net/wireless/mwifiex/pcie.c
@@@ -1211,15 -1217,7 +1217,13 @@@ static int mwifiex_pcie_process_recv_da
  		rd_index = card->rxbd_rdptr & reg->rx_mask;
  		skb_data = card->rx_buf_list[rd_index];
  
 +		/* If skb allocation was failed earlier for Rx packet,
 +		 * rx_buf_list[rd_index] would have been left with a NULL.
 +		 */
 +		if (!skb_data)
 +			return -ENOMEM;
 +
- 		MWIFIEX_SKB_PACB(skb_data, &buf_pa);
- 		pci_unmap_single(card->dev, buf_pa, MWIFIEX_RX_DATA_BUF_SIZE,
- 				 PCI_DMA_FROMDEVICE);
+ 		mwifiex_unmap_pci_memory(adapter, skb_data, PCI_DMA_FROMDEVICE);
  		card->rx_buf_list[rd_index] = NULL;
  
  		/* Get data length from interface header -

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-09-27  3:03 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2013-09-27  3:03 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Arend van Spriel, John W. Linville,
	Joe Perches

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h between commit
db4efbbeb457 ("brcmfmac: obtain platform data upon module
initialization") from the wireless tree and commit 9bd91f3c00bd
("brcm80211: Remove extern from function prototypes") from the net-next
tree.

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

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

diff --cc drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
index 74156f8,5bc0276..0000000
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
@@@ -132,35 -132,33 +132,34 @@@ struct pktq *brcmf_bus_gettxq(struct br
   * interface functions from common layer
   */
  
- extern bool brcmf_c_prec_enq(struct device *dev, struct pktq *q,
- 			 struct sk_buff *pkt, int prec);
+ bool brcmf_c_prec_enq(struct device *dev, struct pktq *q, struct sk_buff *pkt,
+ 		      int prec);
  
  /* Receive frame for delivery to OS.  Callee disposes of rxp. */
- extern void brcmf_rx_frames(struct device *dev, struct sk_buff_head *rxlist);
+ void brcmf_rx_frames(struct device *dev, struct sk_buff_head *rxlist);
  
  /* Indication from bus module regarding presence/insertion of dongle. */
- extern int brcmf_attach(uint bus_hdrlen, struct device *dev);
+ int brcmf_attach(uint bus_hdrlen, struct device *dev);
  /* Indication from bus module regarding removal/absence of dongle */
- extern void brcmf_detach(struct device *dev);
+ void brcmf_detach(struct device *dev);
  /* Indication from bus module that dongle should be reset */
- extern void brcmf_dev_reset(struct device *dev);
+ void brcmf_dev_reset(struct device *dev);
  /* Indication from bus module to change flow-control state */
- extern void brcmf_txflowblock(struct device *dev, bool state);
+ void brcmf_txflowblock(struct device *dev, bool state);
  
  /* Notify the bus has transferred the tx packet to firmware */
- extern void brcmf_txcomplete(struct device *dev, struct sk_buff *txp,
- 			     bool success);
+ void brcmf_txcomplete(struct device *dev, struct sk_buff *txp, bool success);
  
- extern int brcmf_bus_start(struct device *dev);
+ int brcmf_bus_start(struct device *dev);
  
  #ifdef CONFIG_BRCMFMAC_SDIO
- extern void brcmf_sdio_exit(void);
- extern void brcmf_sdio_init(void);
- extern void brcmf_sdio_register(void);
+ void brcmf_sdio_exit(void);
+ void brcmf_sdio_init(void);
++void brcmf_sdio_register(void);
  #endif
  #ifdef CONFIG_BRCMFMAC_USB
- extern void brcmf_usb_exit(void);
- extern void brcmf_usb_register(void);
+ void brcmf_usb_exit(void);
 -void brcmf_usb_init(void);
++void brcmf_usb_register(void);
  #endif
  
  #endif				/* _BRCMF_BUS_H_ */

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-08-27  4:10 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2013-08-27  4:10 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Simon Wunderlich, John W. Linville,
	Johannes Berg, Mathias Kretschmer

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

Hi all,

Today's linux-next merge of the net-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
7ca15a0ae865 ("mac80211: allow scanning for 5/10 MHz channels in IBSS")
from the net-next tree.

I fixed it up (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 2d45643,e08387c..0000000
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@@ -48,12 -49,13 +49,14 @@@ static void __ieee80211_sta_join_ibss(s
  	u8 *pos;
  	struct ieee80211_supported_band *sband;
  	struct cfg80211_bss *bss;
- 	u32 bss_change;
- 	u8 supp_rates[IEEE80211_MAX_SUPP_RATES];
+ 	u32 bss_change, rate_flags, rates = 0, rates_added = 0;
  	struct cfg80211_chan_def chandef;
 +	struct ieee80211_channel *chan;
+ 	enum nl80211_bss_scan_width scan_width;
+ 	bool have_higher_than_11mbit = false;
  	struct beacon_data *presp;
  	int frame_len;
+ 	int shift;
  
  	sdata_assert_lock(sdata);
  
@@@ -82,10 -84,16 +85,18 @@@
  
  	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;
  	}
@@@ -267,35 -310,18 +314,39 @@@ static void ieee80211_sta_join_ibss(str
  	int i, j;
  	u16 beacon_int = cbss->beacon_interval;
  	const struct cfg80211_bss_ies *ies;
 +	enum nl80211_channel_type chan_type;
  	u64 tsf;
+ 	u32 rate_flags;
+ 	int shift;
  
  	sdata_assert_lock(sdata);
  
  	if (beacon_int < 10)
  		beacon_int = 10;
  
 +	switch (sdata->u.ibss.chandef.width) {
 +	case NL80211_CHAN_WIDTH_20_NOHT:
 +	case NL80211_CHAN_WIDTH_20:
 +	case NL80211_CHAN_WIDTH_40:
 +		chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef);
 +		cfg80211_chandef_create(&chandef, cbss->channel, chan_type);
 +		break;
 +	case NL80211_CHAN_WIDTH_5:
 +	case NL80211_CHAN_WIDTH_10:
 +		cfg80211_chandef_create(&chandef, cbss->channel,
 +					NL80211_CHAN_WIDTH_20_NOHT);
 +		chandef.width = sdata->u.ibss.chandef.width;
 +		break;
 +	default:
 +		/* fall back to 20 MHz for unsupported modes */
 +		cfg80211_chandef_create(&chandef, cbss->channel,
 +					NL80211_CHAN_WIDTH_20_NOHT);
 +		break;
 +	}
 +
  	sband = sdata->local->hw.wiphy->bands[cbss->channel->band];
+ 	rate_flags = ieee80211_chandef_rate_flags(&sdata->u.ibss.chandef);
+ 	shift = ieee80211_vif_get_shift(&sdata->vif);
  
  	basic_rates = 0;
  

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2013-04-02  2:00 Stephen Rothwell
@ 2013-04-02  9:30 ` Samuel Ortiz
  0 siblings, 0 replies; 25+ messages in thread
From: Samuel Ortiz @ 2013-04-02  9:30 UTC (permalink / raw)
  To: Stephen Rothwell, John W. Linville
  Cc: David Miller, netdev, linux-next, linux-kernel

Hi John, Stephen,

On Tue, Apr 02, 2013 at 01:00:44PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the net-next tree got a conflict in
> drivers/nfc/microread/mei.c between commit 9593b0b1179c ("NFC: microread:
> Fix build failure due to a new MEI bus API") from the wireless tree and
> commit 63cd353c34a0 ("NFC: microread: Fix MEI build failure") from the
> net-next tree.
John, sorry for the conflict.

I sent a patch to John for wireless-next that will fix it once it
ends up in net-next.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-04-02  2:00 Stephen Rothwell
  2013-04-02  9:30 ` Samuel Ortiz
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2013-04-02  2:00 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Samuel Ortiz, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/nfc/microread/mei.c between commit 9593b0b1179c ("NFC: microread:
Fix build failure due to a new MEI bus API") from the wireless tree and
commit 63cd353c34a0 ("NFC: microread: Fix MEI build failure") from the
net-next tree.

I fixed it up (using the wireless tree version) and can carry the fix as
necessary (no action is required).

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

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-03-26  0:51 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2013-03-26  0:51 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville,
	Stanislaw Gruszka

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/wireless/core.h between commit f9f475292dbb ("cfg80211: always check
for scan end on P2P device") from the wireless tree and commit
812569699119 ("cfg80211/mac80211: disconnect on suspend") from the
net-next tree.

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

-- 
Stephen Rothwell <sfr@canb.auug.org.au>

diff --cc net/wireless/core.h
index 5845c2b,d5d06fd..0000000
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@@ -503,9 -500,9 +500,12 @@@ int cfg80211_validate_beacon_int(struc
  void cfg80211_update_iface_num(struct cfg80211_registered_device *rdev,
  			       enum nl80211_iftype iftype, int num);
  
 +void cfg80211_stop_p2p_device(struct cfg80211_registered_device *rdev,
 +			      struct wireless_dev *wdev);
 +
+ void cfg80211_leave(struct cfg80211_registered_device *rdev,
+ 		    struct wireless_dev *wdev);
+ 
  #define CFG80211_MAX_NUM_DIFFERENT_CHANNELS 10
  
  #ifdef CONFIG_CFG80211_DEVELOPER_WARNINGS

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2013-03-26  0:48 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2013-03-26  0:48 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/mac80211/sta_info.c between commit 27a737ff7cb0 ("mac80211: always
synchronize_net() during station removal") from the wireless tree and
commit 8d1f7ecd2af5 ("mac80211: defer tailroom counter manipulation when
roaming") from the net-next tree.

I fixed it up (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/sta_info.c
index 238a0cc,3644ad7..0000000
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@@ -794,19 -798,14 +799,21 @@@ int __must_check __sta_info_destroy(str
  	list_del_rcu(&sta->list);
  
  	mutex_lock(&local->key_mtx);
 -	for (i = 0; i < NUM_DEFAULT_KEYS; i++)
 +	for (i = 0; i < NUM_DEFAULT_KEYS; i++) {
- 		__ieee80211_key_free(key_mtx_dereference(local, sta->gtk[i]));
+ 		__ieee80211_key_free(key_mtx_dereference(local, sta->gtk[i]),
+ 				     true);
 -	if (sta->ptk)
 +		have_key = true;
 +	}
 +	if (sta->ptk) {
- 		__ieee80211_key_free(key_mtx_dereference(local, sta->ptk));
+ 		__ieee80211_key_free(key_mtx_dereference(local, sta->ptk),
+ 				     true);
 +		have_key = true;
 +	}
  	mutex_unlock(&local->key_mtx);
  
 +	if (!have_key)
 +		synchronize_net();
 +
  	sta->dead = true;
  
  	local->num_sta--;

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2012-07-03  1:44 Stephen Rothwell
@ 2012-07-03  2:33 ` John W. Linville
  0 siblings, 0 replies; 25+ messages in thread
From: John W. Linville @ 2012-07-03  2:33 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: David Miller, netdev, linux-next, linux-kernel, Eliad Peller,
	Johannes Berg

On Tue, Jul 03, 2012 at 11:44:43AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the net-next tree got a conflict in
> net/mac80211/mlme.c between commit 0030bc586591 ("mac80211: destroy
> assoc_data correctly if assoc fails") from the wireless tree and commit
> bdcbd8e0e3ff ("mac80211: clean up debugging") from the net-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 net/mac80211/mlme.c
> index 0db5d34,e6fe84a..0000000
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
> @@@ -2170,17 -2148,19 +2148,17 @@@ ieee80211_rx_mgmt_assoc_resp(struct iee
>   	*bss = assoc_data->bss;
>   
>   	if (status_code != WLAN_STATUS_SUCCESS) {
> - 		printk(KERN_DEBUG "%s: %pM denied association (code=%d)\n",
> - 		       sdata->name, mgmt->sa, status_code);
> + 		sdata_info(sdata, "%pM denied association (code=%d)\n",
> + 			   mgmt->sa, status_code);
>   		ieee80211_destroy_assoc_data(sdata, false);
>   	} else {
>  -		sdata_info(sdata, "associated\n");
>  -
>   		if (!ieee80211_assoc_success(sdata, *bss, mgmt, len)) {
>   			/* oops -- internal error -- send timeout for now */
>  -			ieee80211_destroy_assoc_data(sdata, true);
>  -			sta_info_destroy_addr(sdata, mgmt->bssid);
>  +			ieee80211_destroy_assoc_data(sdata, false);
>   			cfg80211_put_bss(*bss);
>   			return RX_MGMT_CFG80211_ASSOC_TIMEOUT;
>   		}
> - 		printk(KERN_DEBUG "%s: associated\n", sdata->name);
> ++		sdata_info(sdata, "associated\n");
>   
>   		/*
>   		 * destroy assoc_data afterwards, as otherwise an idle

Looks good to me.

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2012-07-03  1:44 Stephen Rothwell
  2012-07-03  2:33 ` John W. Linville
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-07-03  1:44 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Eliad Peller, John W. Linville, Johannes Berg

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/mac80211/mlme.c between commit 0030bc586591 ("mac80211: destroy
assoc_data correctly if assoc fails") from the wireless tree and commit
bdcbd8e0e3ff ("mac80211: clean up debugging") from the net-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 net/mac80211/mlme.c
index 0db5d34,e6fe84a..0000000
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@@ -2170,17 -2148,19 +2148,17 @@@ ieee80211_rx_mgmt_assoc_resp(struct iee
  	*bss = assoc_data->bss;
  
  	if (status_code != WLAN_STATUS_SUCCESS) {
- 		printk(KERN_DEBUG "%s: %pM denied association (code=%d)\n",
- 		       sdata->name, mgmt->sa, status_code);
+ 		sdata_info(sdata, "%pM denied association (code=%d)\n",
+ 			   mgmt->sa, status_code);
  		ieee80211_destroy_assoc_data(sdata, false);
  	} else {
 -		sdata_info(sdata, "associated\n");
 -
  		if (!ieee80211_assoc_success(sdata, *bss, mgmt, len)) {
  			/* oops -- internal error -- send timeout for now */
 -			ieee80211_destroy_assoc_data(sdata, true);
 -			sta_info_destroy_addr(sdata, mgmt->bssid);
 +			ieee80211_destroy_assoc_data(sdata, false);
  			cfg80211_put_bss(*bss);
  			return RX_MGMT_CFG80211_ASSOC_TIMEOUT;
  		}
- 		printk(KERN_DEBUG "%s: associated\n", sdata->name);
++		sdata_info(sdata, "associated\n");
  
  		/*
  		 * destroy assoc_data afterwards, as otherwise an idle

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2012-06-14  4:50 ` Mohammed Shafi Shajakhan
@ 2012-06-14 12:59   ` John W. Linville
  0 siblings, 0 replies; 25+ messages in thread
From: John W. Linville @ 2012-06-14 12:59 UTC (permalink / raw)
  To: Mohammed Shafi Shajakhan
  Cc: Stephen Rothwell, David Miller, netdev, linux-next, linux-kernel,
	Sujith Manoharan

On Thu, Jun 14, 2012 at 10:20:13AM +0530, Mohammed Shafi Shajakhan wrote:
> Hi Stephen,
> 
> On Thursday 14 June 2012 08:42 AM, Stephen Rothwell wrote:
> >Hi all,
> >
> >Today's linux-next merge of the net-next tree got a conflict in
> >drivers/net/wireless/ath/ath9k/main.c between commit bcb7ad7bcbef
> >("ath9k: Fix softlockup in AR9485") from the wireless tree and commit
> >ef1b6cd9a1ba ("ath9k: Group link monitoring logic") from the net-next
> >tree.
> >
> >The latter removes the code modified by the former, so I did that.  The
> >fix from the former patch may be needed elsewhere now.

That sounds right.

> the back ported version of this patch is recently sent
> http://www.spinics.net/lists/linux-wireless/msg92125.html

I have it in wireless-next already...thanks!

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2012-06-14  3:12 Stephen Rothwell
@ 2012-06-14  4:50 ` Mohammed Shafi Shajakhan
  2012-06-14 12:59   ` John W. Linville
  0 siblings, 1 reply; 25+ messages in thread
From: Mohammed Shafi Shajakhan @ 2012-06-14  4:50 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: David Miller, netdev, linux-next, linux-kernel, Sujith Manoharan,
	John W. Linville

Hi Stephen,

On Thursday 14 June 2012 08:42 AM, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the net-next tree got a conflict in
> drivers/net/wireless/ath/ath9k/main.c between commit bcb7ad7bcbef
> ("ath9k: Fix softlockup in AR9485") from the wireless tree and commit
> ef1b6cd9a1ba ("ath9k: Group link monitoring logic") from the net-next
> tree.
>
> The latter removes the code modified by the former, so I did that.  The
> fix from the former patch may be needed elsewhere now.

the back ported version of this patch is recently sent
http://www.spinics.net/lists/linux-wireless/msg92125.html


-- 
thanks,
shafi

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2012-06-14  3:12 Stephen Rothwell
  2012-06-14  4:50 ` Mohammed Shafi Shajakhan
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-06-14  3:12 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Mohammed Shafi Shajakhan,
	Sujith Manoharan, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/ath/ath9k/main.c between commit bcb7ad7bcbef
("ath9k: Fix softlockup in AR9485") from the wireless tree and commit
ef1b6cd9a1ba ("ath9k: Group link monitoring logic") from the net-next
tree.

The latter removes the code modified by the former, so I did that.  The
fix from the former patch may be needed elsewhere now.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2012-05-04  3:21 Stephen Rothwell
@ 2012-05-04  4:35 ` Guy, Wey-Yi
  0 siblings, 0 replies; 25+ messages in thread
From: Guy, Wey-Yi @ 2012-05-04  4:35 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: David Miller, netdev, linux-next, linux-kernel, Eric Dumazet,
	John W. Linville, alexander.duyck, alexander.h.duyck,
	jeffrey.t.kirsher, linux-wireless

On Fri, 2012-05-04 at 13:21 +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the net-next tree got conflicts in
> drivers/net/wireless/iwlwifi/iwl-trans.h,
> drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c, and
> drivers/net/wireless/iwlwifi/iwl-agn-rx.c between commit ed90542b0ce5
> ("iwlwifi: fix skb truesize underestimation") from the wireless tree and
> various commits from the net-next tree.
> 
> This was anticipated and I have applied the fix supplied by John (see
> below just to check).  Thanks to John for this!

Thanks everyone to help address this, it is my miss to cause all these trouble

Wey

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2012-05-04  3:21 Stephen Rothwell
  2012-05-04  4:35 ` Guy, Wey-Yi
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-05-04  3:21 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Eric Dumazet, John W. Linville, Guy,
	Wey-Yi, alexander.duyck, alexander.h.duyck, jeffrey.t.kirsher,
	linux-wireless

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

Hi all,

Today's linux-next merge of the net-next tree got conflicts in
drivers/net/wireless/iwlwifi/iwl-trans.h,
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c, and
drivers/net/wireless/iwlwifi/iwl-agn-rx.c between commit ed90542b0ce5
("iwlwifi: fix skb truesize underestimation") from the wireless tree and
various commits from the net-next tree.

This was anticipated and I have applied the fix supplied by John (see
below just to check).  Thanks to John for this!
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/net/wireless/iwlwifi/iwl-agn-rx.c
index 2247460,f941223..0000000
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rx.c
@@@ -787,25 -752,15 +751,24 @@@ static void iwlagn_pass_packet_to_mac80
  	    iwlagn_set_decrypted_flag(priv, hdr, ampdu_status, stats))
  		return;
  
 -	skb = dev_alloc_skb(128);
 +	/* Dont use dev_alloc_skb(), we'll have enough headroom once
 +	 * ieee80211_hdr pulled.
 +	 */
 +	skb = alloc_skb(128, GFP_ATOMIC);
  	if (!skb) {
 -		IWL_ERR(priv, "dev_alloc_skb failed\n");
 +		IWL_ERR(priv, "alloc_skb failed\n");
  		return;
  	}
 +	hdrlen = min_t(unsigned int, len, skb_tailroom(skb));
 +	memcpy(skb_put(skb, hdrlen), hdr, hdrlen);
 +	fraglen = len - hdrlen;
 +
 +	if (fraglen) {
- 		int offset = (void *)hdr + hdrlen - rxb_addr(rxb);
++		int offset = (void *)hdr - rxb_addr(rxb) + rxb_offset(rxb);
  
 -	offset = (void *)hdr - rxb_addr(rxb) + rxb_offset(rxb);
 -	p = rxb_steal_page(rxb);
 -	skb_add_rx_frag(skb, 0, p, offset, len, len);
 +		skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset,
 +				fraglen, rxb->truesize);
 +	}
- 	iwl_update_stats(priv, false, fc, len);
  
  	/*
  	* Wake any queues that were stopped due to a passive channel tx
diff --cc drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
index aa7aea1,d2239aa..0000000
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
@@@ -374,72 -373,89 +373,90 @@@ static void iwl_rx_handle_rxbuf(struct 
  	if (WARN_ON(!rxb))
  		return;
  
- 	rxcb.truesize = PAGE_SIZE << hw_params(trans).rx_page_order;
- 	dma_unmap_page(trans->dev, rxb->page_dma,
- 		       rxcb.truesize,
- 		       DMA_FROM_DEVICE);
- 
- 	rxcb._page = rxb->page;
- 	pkt = rxb_addr(&rxcb);
- 
- 	IWL_DEBUG_RX(trans, "%s, 0x%02x\n",
- 		     get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
+ 	dma_unmap_page(trans->dev, rxb->page_dma, max_len, DMA_FROM_DEVICE);
  
+ 	while (offset + sizeof(u32) + sizeof(struct iwl_cmd_header) < max_len) {
+ 		struct iwl_rx_packet *pkt;
+ 		struct iwl_device_cmd *cmd;
+ 		u16 sequence;
+ 		bool reclaim;
+ 		int index, cmd_index, err, len;
+ 		struct iwl_rx_cmd_buffer rxcb = {
+ 			._offset = offset,
+ 			._page = rxb->page,
+ 			._page_stolen = false,
++			.truesize = max_len,
+ 		};
  
- 	len = le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_FRAME_SIZE_MSK;
- 	len += sizeof(u32); /* account for status word */
- 	trace_iwlwifi_dev_rx(trans->dev, pkt, len);
+ 		pkt = rxb_addr(&rxcb);
  
- 	/* Reclaim a command buffer only if this packet is a response
- 	 *   to a (driver-originated) command.
- 	 * If the packet (e.g. Rx frame) originated from uCode,
- 	 *   there is no command buffer to reclaim.
- 	 * Ucode should set SEQ_RX_FRAME bit if ucode-originated,
- 	 *   but apparently a few don't get set; catch them here. */
- 	reclaim = !(pkt->hdr.sequence & SEQ_RX_FRAME);
- 	if (reclaim) {
- 		int i;
+ 		if (pkt->len_n_flags == cpu_to_le32(FH_RSCSR_FRAME_INVALID))
+ 			break;
  
- 		for (i = 0; i < trans_pcie->n_no_reclaim_cmds; i++) {
- 			if (trans_pcie->no_reclaim_cmds[i] == pkt->hdr.cmd) {
- 				reclaim = false;
- 				break;
+ 		IWL_DEBUG_RX(trans, "cmd at offset %d: %s (0x%.2x)\n",
+ 			rxcb._offset,
+ 			trans_pcie_get_cmd_string(trans_pcie, pkt->hdr.cmd),
+ 			pkt->hdr.cmd);
+ 
+ 		len = le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_FRAME_SIZE_MSK;
+ 		len += sizeof(u32); /* account for status word */
+ 		trace_iwlwifi_dev_rx(trans->dev, pkt, len);
+ 
+ 		/* Reclaim a command buffer only if this packet is a response
+ 		 *   to a (driver-originated) command.
+ 		 * If the packet (e.g. Rx frame) originated from uCode,
+ 		 *   there is no command buffer to reclaim.
+ 		 * Ucode should set SEQ_RX_FRAME bit if ucode-originated,
+ 		 *   but apparently a few don't get set; catch them here. */
+ 		reclaim = !(pkt->hdr.sequence & SEQ_RX_FRAME);
+ 		if (reclaim) {
+ 			int i;
+ 
+ 			for (i = 0; i < trans_pcie->n_no_reclaim_cmds; i++) {
+ 				if (trans_pcie->no_reclaim_cmds[i] ==
+ 							pkt->hdr.cmd) {
+ 					reclaim = false;
+ 					break;
+ 				}
  			}
  		}
- 	}
  
- 	sequence = le16_to_cpu(pkt->hdr.sequence);
- 	index = SEQ_TO_INDEX(sequence);
- 	cmd_index = get_cmd_index(&txq->q, index);
+ 		sequence = le16_to_cpu(pkt->hdr.sequence);
+ 		index = SEQ_TO_INDEX(sequence);
+ 		cmd_index = get_cmd_index(&txq->q, index);
  
- 	if (reclaim)
- 		cmd = txq->cmd[cmd_index];
- 	else
- 		cmd = NULL;
+ 		if (reclaim)
+ 			cmd = txq->entries[cmd_index].cmd;
+ 		else
+ 			cmd = NULL;
  
- 	err = iwl_op_mode_rx(trans->op_mode, &rxcb, cmd);
+ 		err = iwl_op_mode_rx(trans->op_mode, &rxcb, cmd);
  
- 	/*
- 	 * XXX: After here, we should always check rxcb._page
- 	 * against NULL before touching it or its virtual
- 	 * memory (pkt). Because some rx_handler might have
- 	 * already taken or freed the pages.
- 	 */
+ 		/*
+ 		 * After here, we should always check rxcb._page_stolen,
+ 		 * if it is true then one of the handlers took the page.
+ 		 */
  
- 	if (reclaim) {
- 		/* Invoke any callbacks, transfer the buffer to caller,
- 		 * and fire off the (possibly) blocking
- 		 * iwl_trans_send_cmd()
- 		 * as we reclaim the driver command queue */
- 		if (rxcb._page)
- 			iwl_tx_cmd_complete(trans, &rxcb, err);
- 		else
- 			IWL_WARN(trans, "Claim null rxb?\n");
+ 		if (reclaim) {
+ 			/* Invoke any callbacks, transfer the buffer to caller,
+ 			 * and fire off the (possibly) blocking
+ 			 * iwl_trans_send_cmd()
+ 			 * as we reclaim the driver command queue */
+ 			if (!rxcb._page_stolen)
+ 				iwl_tx_cmd_complete(trans, &rxcb, err);
+ 			else
+ 				IWL_WARN(trans, "Claim null rxb?\n");
+ 		}
+ 
+ 		page_stolen |= rxcb._page_stolen;
+ 		offset += ALIGN(len, FH_RSCSR_FRAME_ALIGN);
  	}
  
- 	/* page was stolen from us */
- 	if (rxcb._page == NULL)
+ 	/* page was stolen from us -- free our reference */
+ 	if (page_stolen) {
+ 		__free_pages(rxb->page, trans_pcie->rx_page_order);
  		rxb->page = NULL;
+ 	}
  
  	/* Reuse the page if possible. For notification packets and
  	 * SKBs that fail to Rx correctly, add them back into the
diff --cc drivers/net/wireless/iwlwifi/iwl-trans.h
index fdf9788,7018d31..0000000
--- a/drivers/net/wireless/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.h
@@@ -260,7 -256,8 +256,9 @@@ static inline void iwl_free_resp(struc
  
  struct iwl_rx_cmd_buffer {
  	struct page *_page;
+ 	int _offset;
+ 	bool _page_stolen;
 +	unsigned int truesize;
  };
  
  static inline void *rxb_addr(struct iwl_rx_cmd_buffer *r)

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2012-02-16  1:40 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2012-02-16  1:40 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/mac80211/sta_info.h between commit 4b5a433ae534 ("mac80211: call rate
control only after init") from the wireless tree and commit 83d5cc012441
("mac80211: station state transition error handling") from the net-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 net/mac80211/sta_info.h
index bfed851,381de37..0000000
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@@ -52,7 -52,7 +52,8 @@@
   * @WLAN_STA_SP: Station is in a service period, so don't try to
   *	reply to other uAPSD trigger frames or PS-Poll.
   * @WLAN_STA_4ADDR_EVENT: 4-addr event was already sent for this frame.
 + * @WLAN_STA_RATE_CONTROL: rate control was initialized for this station.
+  * @WLAN_STA_INSERTED: This station is inserted into the hash table.
   */
  enum ieee80211_sta_info_flags {
  	WLAN_STA_AUTH,
@@@ -72,7 -72,7 +73,8 @@@
  	WLAN_STA_UAPSD,
  	WLAN_STA_SP,
  	WLAN_STA_4ADDR_EVENT,
 +	WLAN_STA_RATE_CONTROL,
+ 	WLAN_STA_INSERTED,
  };
  
  enum ieee80211_sta_state {

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2012-02-16  1:37 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2012-02-16  1:37 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/mac80211/debugfs_sta.c between commit 4b5a433ae534 ("mac80211: call
rate control only after init") from the wireless tree and commit
83d5cc012441 ("mac80211: station state transition error handling") from
the net-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 net/mac80211/debugfs_sta.c
index d86217d,c838371..0000000
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@@ -63,14 -63,15 +63,15 @@@ static ssize_t sta_flags_read(struct fi
  	test_sta_flag(sta, WLAN_STA_##flg) ? #flg "\n" : ""
  
  	int res = scnprintf(buf, sizeof(buf),
- 			    "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
 -			    "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
++			    "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
  			    TEST(AUTH), TEST(ASSOC), TEST(PS_STA),
  			    TEST(PS_DRIVER), TEST(AUTHORIZED),
  			    TEST(SHORT_PREAMBLE),
  			    TEST(WME), TEST(WDS), TEST(CLEAR_PS_FILT),
  			    TEST(MFP), TEST(BLOCK_BA), TEST(PSPOLL),
  			    TEST(UAPSD), TEST(SP), TEST(TDLS_PEER),
- 			    TEST(TDLS_PEER_AUTH), TEST(RATE_CONTROL));
 -			    TEST(TDLS_PEER_AUTH), TEST(4ADDR_EVENT),
 -			    TEST(INSERTED));
++			    TEST(TDLS_PEER_AUTH), TEST(RATE_CONTROL),
++			    TEST(4ADDR_EVENT), TEST(INSERTED));
  #undef TEST
  	return simple_read_from_buffer(userbuf, count, ppos, buf, res);
  }

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2011-12-20  2:02 Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2011-12-20  2:02 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Mat Martineau, Gustavo F. Padovan,
	John W. Linville, Andrei Emeltchenko

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/bluetooth/l2cap_core.c between commit 36e999a83a4a ("Bluetooth:
Prevent uninitialized data access in L2CAP configuration") from the
wireless tree and commit 66af7aaf9edf ("Bluetooth: EFS: parse L2CAP
config response") from the net-next tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc net/bluetooth/l2cap_core.c
index 17b5b1c,014fdec..0000000
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@@ -2152,7 -2372,8 +2372,8 @@@ static int l2cap_parse_conf_rsp(struct 
  	void *ptr = req->data;
  	int type, olen;
  	unsigned long val;
 -	struct l2cap_conf_rfc rfc;
 +	struct l2cap_conf_rfc rfc = { .mode = L2CAP_MODE_BASIC };
+ 	struct l2cap_conf_efs efs;
  
  	BT_DBG("chan %p, rsp %p, len %d, req %p", chan, rsp, len, data);
  

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

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

* Re: linux-next: manual merge of the net-next tree with the wireless tree
  2011-12-15  2:53 Stephen Rothwell
@ 2011-12-15  3:16 ` Stephen Rothwell
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Rothwell @ 2011-12-15  3:16 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville

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

Hi all,

On Thu, 15 Dec 2011 13:53:30 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the net-next tree got a conflict in
> drivers/net/wireless/iwlwifi/iwl-agn.c between commit 81670a491849
> ("iwlwifi: tx_sync only on PAN context") from the wireless tree and
> commits from the net-next tree.
> 
> I used the version of this file from the wireless-next tree (where this
> conflict has been resolved).

Unfortunately, it was the wrong resolution for the net-next tree due to
other changes in this file :-(

So instead, I just used the version of this file from the net-next tree.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

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

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

* linux-next: manual merge of the net-next tree with the wireless tree
@ 2011-12-15  2:53 Stephen Rothwell
  2011-12-15  3:16 ` Stephen Rothwell
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2011-12-15  2:53 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Johannes Berg, John W. Linville

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

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/net/wireless/iwlwifi/iwl-agn.c between commit 81670a491849
("iwlwifi: tx_sync only on PAN context") from the wireless tree and
commits from the net-next tree.

I used the version of this file from the wireless-next tree (where this
conflict has been resolved).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

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

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

end of thread, other threads:[~2014-07-24  2:47 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-04  0:44 linux-next: manual merge of the net-next tree with the wireless tree Stephen Rothwell
2013-05-02  3:19 ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2014-07-24  2:47 Stephen Rothwell
2014-07-23  2:00 Stephen Rothwell
2014-05-23  3:45 Stephen Rothwell
2014-02-26  3:21 Stephen Rothwell
2014-02-21  2:34 Stephen Rothwell
2013-09-27  3:03 Stephen Rothwell
2013-08-27  4:10 Stephen Rothwell
2013-04-02  2:00 Stephen Rothwell
2013-04-02  9:30 ` Samuel Ortiz
2013-03-26  0:51 Stephen Rothwell
2013-03-26  0:48 Stephen Rothwell
2012-07-03  1:44 Stephen Rothwell
2012-07-03  2:33 ` John W. Linville
2012-06-14  3:12 Stephen Rothwell
2012-06-14  4:50 ` Mohammed Shafi Shajakhan
2012-06-14 12:59   ` John W. Linville
2012-05-04  3:21 Stephen Rothwell
2012-05-04  4:35 ` Guy, Wey-Yi
2012-02-16  1:40 Stephen Rothwell
2012-02-16  1:37 Stephen Rothwell
2011-12-20  2:02 Stephen Rothwell
2011-12-15  2:53 Stephen Rothwell
2011-12-15  3:16 ` Stephen Rothwell

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).