* pull request: wireless 2012-01-16
@ 2012-01-16 19:54 John W. Linville
2012-01-17 1:15 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: John W. Linville @ 2012-01-16 19:54 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 5942 bytes --]
commit 543d1b92d5500841e70f15e79d197bbffed36561
Dave,
Here is a set of fixes for 3.3 that I let cook over the weekend...
Included is a fix for a signedness bug in ipw2x00 from Dan Carpenter, a
fix for an oops when ejecting a b43 card from Guennadi Liakhovetski
(with a minor modification by me as noted in the changelog), a mac80211
regresion fix from Johannes Berg for a bug related to station
management, and a final fix for the rt2800pci spurious interrupt issue
from Stanislaw Gruszka.
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit 7c7c7f01cc5e3e423120a4848a73dd5e4586f2f9:
vhost-net: add module alias (v2.1) (2012-01-13 10:12:23 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git for-davem
Dan Carpenter (1):
ipw2x00: signedness bug handling frame length
Guennadi Liakhovetski (1):
wireless: b43: fix Oops on card eject during transfer
Johannes Berg (1):
mac80211: fix no-op authorized transitions
Stanislaw Gruszka (1):
rt2800pci: fix spurious interrupts generation
drivers/net/wireless/b43/main.c | 5 ++++-
drivers/net/wireless/ipw2x00/ipw2200.c | 4 ++--
drivers/net/wireless/rt2x00/rt2800pci.c | 28 ++++++++--------------------
net/mac80211/cfg.c | 2 +-
4 files changed, 15 insertions(+), 24 deletions(-)
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 1c6f193..b91f28e 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4852,6 +4852,9 @@ static void b43_op_stop(struct ieee80211_hw *hw)
cancel_work_sync(&(wl->beacon_update_trigger));
+ if (!dev)
+ goto out;
+
mutex_lock(&wl->mutex);
if (b43_status(dev) >= B43_STAT_STARTED) {
dev = b43_wireless_core_stop(dev);
@@ -4863,7 +4866,7 @@ static void b43_op_stop(struct ieee80211_hw *hw)
out_unlock:
mutex_unlock(&wl->mutex);
-
+out:
cancel_work_sync(&(wl->txpower_adjust_work));
}
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index 018a8de..4fcdac6 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -7848,7 +7848,7 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv,
* more efficiently than we can parse it. ORDER MATTERS HERE */
struct ipw_rt_hdr *ipw_rt;
- short len = le16_to_cpu(pkt->u.frame.length);
+ unsigned short len = le16_to_cpu(pkt->u.frame.length);
/* We received data from the HW, so stop the watchdog */
dev->trans_start = jiffies;
@@ -8023,7 +8023,7 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,
s8 signal = frame->rssi_dbm - IPW_RSSI_TO_DBM;
s8 noise = (s8) le16_to_cpu(frame->noise);
u8 rate = frame->rate;
- short len = le16_to_cpu(pkt->u.frame.length);
+ unsigned short len = le16_to_cpu(pkt->u.frame.length);
struct sk_buff *skb;
int hdr_only = 0;
u16 filter = priv->prom_priv->filter;
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 4941a1a..dc88bae 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -422,7 +422,6 @@ static int rt2800pci_init_queues(struct rt2x00_dev *rt2x00dev)
static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev,
enum dev_state state)
{
- int mask = (state == STATE_RADIO_IRQ_ON);
u32 reg;
unsigned long flags;
@@ -436,25 +435,14 @@ static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev,
}
spin_lock_irqsave(&rt2x00dev->irqmask_lock, flags);
- rt2x00pci_register_read(rt2x00dev, INT_MASK_CSR, ®);
- rt2x00_set_field32(®, INT_MASK_CSR_RXDELAYINT, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_TXDELAYINT, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_RX_DONE, mask);
- rt2x00_set_field32(®, INT_MASK_CSR_AC0_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_AC1_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_AC2_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_AC3_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_HCCA_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_MGMT_DMA_DONE, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_MCU_COMMAND, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_RXTX_COHERENT, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_TBTT, mask);
- rt2x00_set_field32(®, INT_MASK_CSR_PRE_TBTT, mask);
- rt2x00_set_field32(®, INT_MASK_CSR_TX_FIFO_STATUS, mask);
- rt2x00_set_field32(®, INT_MASK_CSR_AUTO_WAKEUP, mask);
- rt2x00_set_field32(®, INT_MASK_CSR_GPTIMER, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_RX_COHERENT, 0);
- rt2x00_set_field32(®, INT_MASK_CSR_TX_COHERENT, 0);
+ reg = 0;
+ if (state == STATE_RADIO_IRQ_ON) {
+ rt2x00_set_field32(®, INT_MASK_CSR_RX_DONE, 1);
+ rt2x00_set_field32(®, INT_MASK_CSR_TBTT, 1);
+ rt2x00_set_field32(®, INT_MASK_CSR_PRE_TBTT, 1);
+ rt2x00_set_field32(®, INT_MASK_CSR_TX_FIFO_STATUS, 1);
+ rt2x00_set_field32(®, INT_MASK_CSR_AUTO_WAKEUP, 1);
+ }
rt2x00pci_register_write(rt2x00dev, INT_MASK_CSR, reg);
spin_unlock_irqrestore(&rt2x00dev->irqmask_lock, flags);
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index e60df48..296620d 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -791,7 +791,7 @@ static int sta_apply_parameters(struct ieee80211_local *local,
if (set & BIT(NL80211_STA_FLAG_AUTHORIZED))
ret = sta_info_move_state_checked(sta,
IEEE80211_STA_AUTHORIZED);
- else
+ else if (test_sta_flag(sta, WLAN_STA_AUTHORIZED))
ret = sta_info_move_state_checked(sta,
IEEE80211_STA_ASSOC);
if (ret)
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: pull request: wireless 2012-01-16
2012-01-16 19:54 pull request: wireless 2012-01-16 John W. Linville
@ 2012-01-17 1:15 ` David Miller
2012-01-17 15:45 ` John W. Linville
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2012-01-17 1:15 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, netdev, linux-kernel
From: "John W. Linville" <linville@tuxdriver.com>
Date: Mon, 16 Jan 2012 14:54:35 -0500
> Here is a set of fixes for 3.3 that I let cook over the weekend...
>
> Included is a fix for a signedness bug in ipw2x00 from Dan Carpenter, a
> fix for an oops when ejecting a b43 card from Guennadi Liakhovetski
> (with a minor modification by me as noted in the changelog), a mac80211
> regresion fix from Johannes Berg for a bug related to station
> management, and a final fix for the rt2800pci spurious interrupt issue
> from Stanislaw Gruszka.
And Linus's patches to fix the brcmsmac driver aren't in here because?
If you don't integrate them, Linus is going to integrate them on his
own before -rc1 is cut, so whatever you're "waiting for" is entirely
and utterly pointless.
Merge his bug fixes now, don't delay this kind of stuff, ever.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: pull request: wireless 2012-01-16
2012-01-17 1:15 ` David Miller
@ 2012-01-17 15:45 ` John W. Linville
0 siblings, 0 replies; 3+ messages in thread
From: John W. Linville @ 2012-01-17 15:45 UTC (permalink / raw)
To: David Miller; +Cc: linux-wireless, netdev, linux-kernel
On Mon, Jan 16, 2012 at 08:15:07PM -0500, David Miller wrote:
> From: "John W. Linville" <linville@tuxdriver.com>
> Date: Mon, 16 Jan 2012 14:54:35 -0500
>
> > Here is a set of fixes for 3.3 that I let cook over the weekend...
> >
> > Included is a fix for a signedness bug in ipw2x00 from Dan Carpenter, a
> > fix for an oops when ejecting a b43 card from Guennadi Liakhovetski
> > (with a minor modification by me as noted in the changelog), a mac80211
> > regresion fix from Johannes Berg for a bug related to station
> > management, and a final fix for the rt2800pci spurious interrupt issue
> > from Stanislaw Gruszka.
>
> And Linus's patches to fix the brcmsmac driver aren't in here because?
>
> If you don't integrate them, Linus is going to integrate them on his
> own before -rc1 is cut, so whatever you're "waiting for" is entirely
> and utterly pointless.
>
> Merge his bug fixes now, don't delay this kind of stuff, ever.
OK, I withdraw this pull request. I'll send a replacement immediately.
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] 3+ messages in thread
end of thread, other threads:[~2012-01-17 16:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-16 19:54 pull request: wireless 2012-01-16 John W. Linville
2012-01-17 1:15 ` David Miller
2012-01-17 15:45 ` John W. Linville
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).