Linux 3.3-rc1-git2 (upstream f8275f9694b8adf9f3498e747ea4c3e8b984499b)
This commit is contained in:
parent
d5f748edcb
commit
64d09e6b04
@ -1,36 +0,0 @@
|
|||||||
Simple patch to remove the overlap between the bcma (i.e. b43) driver
|
|
||||||
and the brcmsmac driver. David Woodhouse <dwmw2@infradead.org>
|
|
||||||
confirmed that this patch restores functionality of bcm4331 devices.
|
|
||||||
|
|
||||||
-- John W. Linville <linville@redhat.com>
|
|
||||||
|
|
||||||
diff -up linux-3.1.x86_64/drivers/bcma/host_pci.c.orig linux-3.1.x86_64/drivers/bcma/host_pci.c
|
|
||||||
--- linux-3.1.x86_64/drivers/bcma/host_pci.c.orig 2011-11-10 11:41:26.829742757 -0500
|
|
||||||
+++ linux-3.1.x86_64/drivers/bcma/host_pci.c 2011-11-10 11:41:22.884792078 -0500
|
|
||||||
@@ -225,11 +225,13 @@ static void bcma_host_pci_remove(struct
|
|
||||||
}
|
|
||||||
|
|
||||||
static DEFINE_PCI_DEVICE_TABLE(bcma_pci_bridge_tbl) = {
|
|
||||||
- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4331) },
|
|
||||||
+#if 0 /* Not in Fedora... */
|
|
||||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4353) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
|
|
||||||
+#endif
|
|
||||||
{ 0, },
|
|
||||||
};
|
|
||||||
MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl);
|
|
||||||
diff --git a/drivers/net/wireless/brcm80211/Kconfig b/drivers/net/wireless/brcm80211/Kconfig
|
|
||||||
index cd6375d..caa0302 100644
|
|
||||||
--- a/drivers/net/wireless/brcm80211/Kconfig
|
|
||||||
+++ b/drivers/net/wireless/brcm80211/Kconfig
|
|
||||||
@@ -4,7 +4,6 @@ config BRCMUTIL
|
|
||||||
config BRCMSMAC
|
|
||||||
tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
|
|
||||||
depends on MAC80211
|
|
||||||
- depends on BCMA
|
|
||||||
select BRCMUTIL
|
|
||||||
select FW_LOADER
|
|
||||||
select CRC_CCITT
|
|
@ -1463,6 +1463,7 @@ CONFIG_B43=m
|
|||||||
CONFIG_B43_PCMCIA=y
|
CONFIG_B43_PCMCIA=y
|
||||||
CONFIG_B43_SDIO=y
|
CONFIG_B43_SDIO=y
|
||||||
CONFIG_B43_BCMA=y
|
CONFIG_B43_BCMA=y
|
||||||
|
CONFIG_B43_BCMA_EXTRA=y
|
||||||
CONFIG_B43_BCMA_PIO=y
|
CONFIG_B43_BCMA_PIO=y
|
||||||
CONFIG_B43_DEBUG=y
|
CONFIG_B43_DEBUG=y
|
||||||
CONFIG_B43_PHY_LP=y
|
CONFIG_B43_PHY_LP=y
|
||||||
|
15
kernel.spec
15
kernel.spec
@ -87,7 +87,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 1
|
%define rcrev 1
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 1
|
%define gitrev 2
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 3.%{upstream_sublevel}.0
|
%define rpmversion 3.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -736,12 +736,8 @@ Patch21070: ext4-Support-check-none-nocheck-mount-options.patch
|
|||||||
Patch21073: KVM-x86-extend-struct-x86_emulate_ops-with-get_cpuid.patch
|
Patch21073: KVM-x86-extend-struct-x86_emulate_ops-with-get_cpuid.patch
|
||||||
Patch21074: KVM-x86-fix-missing-checks-in-syscall-emulation.patch
|
Patch21074: KVM-x86-fix-missing-checks-in-syscall-emulation.patch
|
||||||
|
|
||||||
Patch21090: bcma-brcmsmac-compat.patch
|
|
||||||
|
|
||||||
Patch21091: kmemleak.patch
|
Patch21091: kmemleak.patch
|
||||||
|
|
||||||
Patch21092: mac80211-fix-work-removal-on-deauth-request.patch
|
|
||||||
|
|
||||||
# compat-wireless patches
|
# compat-wireless patches
|
||||||
Patch50000: compat-wireless-config-fixups.patch
|
Patch50000: compat-wireless-config-fixups.patch
|
||||||
Patch50001: compat-wireless-pr_fmt-warning-avoidance.patch
|
Patch50001: compat-wireless-pr_fmt-warning-avoidance.patch
|
||||||
@ -1423,11 +1419,6 @@ ApplyPatch efi-dont-map-boot-services-on-32bit.patch
|
|||||||
# utrace.
|
# utrace.
|
||||||
# pplyPatch utrace.patch
|
# pplyPatch utrace.patch
|
||||||
|
|
||||||
%if !%{with_backports}
|
|
||||||
# Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
|
|
||||||
ApplyPatch bcma-brcmsmac-compat.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
ApplyPatch ext4-Support-check-none-nocheck-mount-options.patch
|
ApplyPatch ext4-Support-check-none-nocheck-mount-options.patch
|
||||||
|
|
||||||
#rhbz 773392
|
#rhbz 773392
|
||||||
@ -1435,7 +1426,6 @@ ApplyPatch KVM-x86-extend-struct-x86_emulate_ops-with-get_cpuid.patch
|
|||||||
ApplyPatch KVM-x86-fix-missing-checks-in-syscall-emulation.patch
|
ApplyPatch KVM-x86-fix-missing-checks-in-syscall-emulation.patch
|
||||||
|
|
||||||
ApplyPatch kmemleak.patch
|
ApplyPatch kmemleak.patch
|
||||||
ApplyPatch mac80211-fix-work-removal-on-deauth-request.patch
|
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
@ -2276,6 +2266,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 25 2012 Josh Boyer <jwboyer@redhat.com> - 3.3.0-0.rc1.git2.1
|
||||||
|
- Linux 3.3-rc1-git2 (upstream f8275f9694b8adf9f3498e747ea4c3e8b984499b)
|
||||||
|
|
||||||
* Tue Jan 24 2012 Josh Boyer <jwboyer@redhat.com>
|
* Tue Jan 24 2012 Josh Boyer <jwboyer@redhat.com>
|
||||||
- Re-enable the ARCMSR module (rhbz 784287)
|
- Re-enable the ARCMSR module (rhbz 784287)
|
||||||
- Re-enable the LIRC_STAGING drivers (rhbz 784398)
|
- Re-enable the LIRC_STAGING drivers (rhbz 784398)
|
||||||
|
@ -1,154 +0,0 @@
|
|||||||
Path: news.gmane.org!not-for-mail
|
|
||||||
From: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
|
|
||||||
Newsgroups: gmane.linux.kernel.wireless.general
|
|
||||||
Subject: [PATCH 3.3] mac80211: fix work removal on deauth request
|
|
||||||
Date: Wed, 18 Jan 2012 14:10:25 +0100
|
|
||||||
Lines: 107
|
|
||||||
Approved: news@gmane.org
|
|
||||||
Message-ID: <1326892225.4778.5.camel@jlt3.sipsolutions.net>
|
|
||||||
NNTP-Posting-Host: lo.gmane.org
|
|
||||||
Mime-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset="UTF-8"
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Trace: dough.gmane.org 1326892249 18013 80.91.229.12 (18 Jan 2012 13:10:49 GMT)
|
|
||||||
X-Complaints-To: usenet@dough.gmane.org
|
|
||||||
NNTP-Posting-Date: Wed, 18 Jan 2012 13:10:49 +0000 (UTC)
|
|
||||||
Cc: linux-wireless <linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
|
|
||||||
Pontus Fuchs <pontus.fuchs-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
|
|
||||||
To: John Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
|
|
||||||
Original-X-From: linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Wed Jan 18 14:10:44 2012
|
|
||||||
Return-path: <linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
|
|
||||||
Envelope-to: glkwg-linux-wireless-1dZseelyfdZg9hUCZPvPmw@public.gmane.org
|
|
||||||
Original-Received: from vger.kernel.org ([209.132.180.67])
|
|
||||||
by lo.gmane.org with esmtp (Exim 4.69)
|
|
||||||
(envelope-from <linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>)
|
|
||||||
id 1RnVHo-00044l-Aq
|
|
||||||
for glkwg-linux-wireless-1dZseelyfdZg9hUCZPvPmw@public.gmane.org; Wed, 18 Jan 2012 14:10:44 +0100
|
|
||||||
Original-Received: (majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org) by vger.kernel.org via listexpand
|
|
||||||
id S1757410Ab2ARNK3 (ORCPT
|
|
||||||
<rfc822;glkwg-linux-wireless@m.gmane.org>);
|
|
||||||
Wed, 18 Jan 2012 08:10:29 -0500
|
|
||||||
Original-Received: from he.sipsolutions.net ([78.46.109.217]:45023 "EHLO
|
|
||||||
sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
|
||||||
with ESMTP id S1754365Ab2ARNK2 (ORCPT
|
|
||||||
<rfc822;linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>);
|
|
||||||
Wed, 18 Jan 2012 08:10:28 -0500
|
|
||||||
Original-Received: by sipsolutions.net with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
|
|
||||||
(Exim 4.77)
|
|
||||||
(envelope-from <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>)
|
|
||||||
id 1RnVHW-0004hf-Lx; Wed, 18 Jan 2012 14:10:26 +0100
|
|
||||||
X-Mailer: Evolution 2.30.3
|
|
||||||
Original-Sender: linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
|
|
||||||
Precedence: bulk
|
|
||||||
List-ID: <linux-wireless.vger.kernel.org>
|
|
||||||
X-Mailing-List: linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
|
|
||||||
Xref: news.gmane.org gmane.linux.kernel.wireless.general:84095
|
|
||||||
Archived-At: <http://permalink.gmane.org/gmane.linux.kernel.wireless.general/84095>
|
|
||||||
|
|
||||||
From: Johannes Berg <johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
|
|
||||||
|
|
||||||
When deauth is requested while an auth or assoc
|
|
||||||
work item is in progress, we currently delete it
|
|
||||||
without regard for any state it might need to
|
|
||||||
clean up. Fix it by cleaning up for those items.
|
|
||||||
|
|
||||||
In the case Pontus found, the problem manifested
|
|
||||||
itself as such:
|
|
||||||
|
|
||||||
authenticate with 00:23:69:aa:dd:7b (try 1)
|
|
||||||
authenticated
|
|
||||||
failed to insert Dummy STA entry for the AP (error -17)
|
|
||||||
deauthenticating from 00:23:69:aa:dd:7b by local choice (reason=2)
|
|
||||||
|
|
||||||
It could also happen differently if the driver
|
|
||||||
uses the tx_sync callback.
|
|
||||||
|
|
||||||
We can't just call the ->done() method of the work
|
|
||||||
items because that will lock up due to the locking
|
|
||||||
in cfg80211. This fix isn't very clean, but that
|
|
||||||
seems acceptable since I have patches pending to
|
|
||||||
remove this code completely.
|
|
||||||
|
|
||||||
Cc: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
|
|
||||||
Reported-by: Pontus Fuchs <pontus.fuchs-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
|
|
||||||
Tested-by: Pontus Fuchs <pontus.fuchs-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
|
|
||||||
Signed-off-by: Johannes Berg <johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
|
|
||||||
---
|
|
||||||
net/mac80211/mlme.c | 38 +++++++++++++++++++++++++++-----------
|
|
||||||
1 file changed, 27 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
--- a/net/mac80211/mlme.c 2012-01-18 14:04:33.000000000 +0100
|
|
||||||
+++ b/net/mac80211/mlme.c 2012-01-18 14:04:34.000000000 +0100
|
|
||||||
@@ -2750,7 +2750,6 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
||||||
{
|
|
||||||
struct ieee80211_local *local = sdata->local;
|
|
||||||
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
|
||||||
- struct ieee80211_work *wk;
|
|
||||||
u8 bssid[ETH_ALEN];
|
|
||||||
bool assoc_bss = false;
|
|
||||||
|
|
||||||
@@ -2763,30 +2762,47 @@ int ieee80211_mgd_deauth(struct ieee8021
|
|
||||||
assoc_bss = true;
|
|
||||||
} else {
|
|
||||||
bool not_auth_yet = false;
|
|
||||||
+ struct ieee80211_work *tmp, *wk = NULL;
|
|
||||||
|
|
||||||
mutex_unlock(&ifmgd->mtx);
|
|
||||||
|
|
||||||
mutex_lock(&local->mtx);
|
|
||||||
- list_for_each_entry(wk, &local->work_list, list) {
|
|
||||||
- if (wk->sdata != sdata)
|
|
||||||
+ list_for_each_entry(tmp, &local->work_list, list) {
|
|
||||||
+ if (tmp->sdata != sdata)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- if (wk->type != IEEE80211_WORK_DIRECT_PROBE &&
|
|
||||||
- wk->type != IEEE80211_WORK_AUTH &&
|
|
||||||
- wk->type != IEEE80211_WORK_ASSOC &&
|
|
||||||
- wk->type != IEEE80211_WORK_ASSOC_BEACON_WAIT)
|
|
||||||
+ if (tmp->type != IEEE80211_WORK_DIRECT_PROBE &&
|
|
||||||
+ tmp->type != IEEE80211_WORK_AUTH &&
|
|
||||||
+ tmp->type != IEEE80211_WORK_ASSOC &&
|
|
||||||
+ tmp->type != IEEE80211_WORK_ASSOC_BEACON_WAIT)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- if (memcmp(req->bss->bssid, wk->filter_ta, ETH_ALEN))
|
|
||||||
+ if (memcmp(req->bss->bssid, tmp->filter_ta, ETH_ALEN))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- not_auth_yet = wk->type == IEEE80211_WORK_DIRECT_PROBE;
|
|
||||||
- list_del_rcu(&wk->list);
|
|
||||||
- free_work(wk);
|
|
||||||
+ not_auth_yet = tmp->type == IEEE80211_WORK_DIRECT_PROBE;
|
|
||||||
+ list_del_rcu(&tmp->list);
|
|
||||||
+ synchronize_rcu();
|
|
||||||
+ wk = tmp;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
mutex_unlock(&local->mtx);
|
|
||||||
|
|
||||||
+ if (wk && wk->type == IEEE80211_WORK_ASSOC) {
|
|
||||||
+ /* clean up dummy sta & TX sync */
|
|
||||||
+ sta_info_destroy_addr(wk->sdata, wk->filter_ta);
|
|
||||||
+ if (wk->assoc.synced)
|
|
||||||
+ drv_finish_tx_sync(local, wk->sdata,
|
|
||||||
+ wk->filter_ta,
|
|
||||||
+ IEEE80211_TX_SYNC_ASSOC);
|
|
||||||
+ } else if (wk && wk->type == IEEE80211_WORK_AUTH) {
|
|
||||||
+ if (wk->probe_auth.synced)
|
|
||||||
+ drv_finish_tx_sync(local, wk->sdata,
|
|
||||||
+ wk->filter_ta,
|
|
||||||
+ IEEE80211_TX_SYNC_AUTH);
|
|
||||||
+ }
|
|
||||||
+ kfree(wk);
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* If somebody requests authentication and we haven't
|
|
||||||
* sent out an auth frame yet there's no need to send
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
|
||||||
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
|
|
||||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
|
||||||
|
|
2
sources
2
sources
@ -1,4 +1,4 @@
|
|||||||
364066fa18767ec0ae5f4e4abcf9dc51 linux-3.2.tar.xz
|
364066fa18767ec0ae5f4e4abcf9dc51 linux-3.2.tar.xz
|
||||||
2fed18362598429cc0669c01123290ff compat-wireless-2012-01-09.tar.bz2
|
2fed18362598429cc0669c01123290ff compat-wireless-2012-01-09.tar.bz2
|
||||||
1c3dd34fa219420a4cbed1e573d253e7 patch-3.3-rc1.xz
|
1c3dd34fa219420a4cbed1e573d253e7 patch-3.3-rc1.xz
|
||||||
a39992f85a392f3a3a515355ad68f889 patch-3.3-rc1-git1.xz
|
6eb5ed992fdaf6a22f788531ed4f4683 patch-3.3-rc1-git2.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user