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