- 05 2月, 2013 1 次提交
-
-
由 Arend van Spriel 提交于
This patch addresses a long standing issue of the driver with the mac80211 .flush() callback. Since implementing the .flush() callback a number of issues have been fixed, but a WARN_ON_ONCE() was still triggered because the timeout on the flush could still occur. This patch changes the awkward design using msleep() into one using a waitqueue. The waiting flush() context will kick the transmit dma when it is idle and the timeout used waiting for the event is set to 500 ms. Worst case there can be 64 frames outstanding for transmit in the driver. At a rate of 1Mbps that would take 1.5 seconds assuming MTU is 1500 bytes and ignoring retries. The WARN_ON_ONCE() is also removed as this was put in to indicate the flush timeout as a reason for the driver to stall. That was not happening since fixing endless AMPDU retries with following upstream commit: commit 85091fc0 Author: Arend van Spriel <arend@broadcom.com> Date: Thu Feb 23 18:38:22 2012 +0100 brcm80211: smac: fix endless retry of A-MPDU transmissions bugzilla: 42840 <https://bugzilla.kernel.org/show_bug.cgi?id=42840> bugzilla@redhat: <https://bugzilla.redhat.com/show_bug.cgi?id=799168> bugzilla@redhat: <https://bugzilla.redhat.com/show_bug.cgi?id=787649> Cc: Jonathan Nieder <jrnieder@gmail.com> Cc: Stanislaw Gruszka <sgruszka@redhat.com> Cc: Camaleón <noelamac@gmail.com> Cc: Milan Bouchet-Valat <nalimilan@club-internet.fr> Cc: Seth Forshee <seth.forshee@canonical.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NHante Meuleman <meuleman@broadcom.com> Reviewed-by: NPiotr Haber <phaber@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Acked-by: NSeth Forshee <seth.forshee@canonical.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 01 12月, 2012 3 次提交
-
-
由 Piotr Haber 提交于
Put basic information about hardware in debugfs. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NHante Meuleman <meuleman@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NPiotr Haber <phaber@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Acked-by: NSeth Forshee <seth.forshee@canonical.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Piotr Haber 提交于
brcms_c_isr returns true if interrupt was for us and if dpc should be scheduled which is the same thing. Simplify it. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NHante Meuleman <meuleman@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NPiotr Haber <phaber@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Piotr Haber 提交于
The .tx() callback function can drop packets when there is no space in the DMA fifo. Propagate that information to caller and make sure the freed sk_buff reference is not accessed. Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NPiotr Haber <phaber@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 21 11月, 2012 2 次提交
-
-
由 Seth Forshee 提交于
The brcmsmac internal tx buffering is problematic. The amount of buffering is excessive (228 packets in addition to the 256 slots in each DMA ring), and frames may be dropped due to a lack of flow control. This patch reworks the transmit code path to remove the internal buffering. Frames are immediately handed off to the DMA support rather than passing through an intermediate queue. Non-aggregate frames are queued immediately into the tx rings, and aggregate frames are queued temporarily in an AMPDU session until ready for transmit. Transmit flow control is also added to avoid dropping packets when the tx rings are full. Conceptually this is a separate change, but it's included in this commit because removing the tx queue without adding flow control could cause significant problems. Signed-off-by: NSeth Forshee <seth.forshee@canonical.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Tested-by: NDaniel Wagner <wagi@monom.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Seth Forshee 提交于
The mac80211 tx queues and brcmsmac DMA fifos both map directly to AC levels. Therefore it's much more straightforward to queue tx frames and choose the tx fifo based on the mac80211 queue instead of mapping 802.1D priority tags to precedence levels then back to AC levels. mac80211 already maps the 802.1D levels to the appropriate AC levels and queues management frames at the maximum priority, so the results should be identical. One functional change resulting from this patch is that AMPDU retries no longer get a priority boost to queue them ahead of packets with the same priority already in the tx queue. This behavior will be restored (in effect at least) in a later patch when the tx queue is removed. Signed-off-by: NSeth Forshee <seth.forshee@canonical.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Tested-by: NDaniel Wagner <wagi@monom.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 11 7月, 2012 1 次提交
-
-
由 Hauke Mehrtens 提交于
Now brcms_c_chipmatch() is also able to handle non PCI devices and also does some checking for SoC if they are supported by brcmsmac. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Acked-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 17 5月, 2012 1 次提交
-
-
由 Hauke Mehrtens 提交于
brcmsmac now takes the sprom from bcma and do not uses its own sprom parsing any more. Remove this code as it is not used any more. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> Tested-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 14 12月, 2011 1 次提交
-
-
由 Arend van Spriel 提交于
The driver is probed through bcma which provides a device representing the core. This device is now passed in brcms_c_attach and brcms_b_attach functions. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 12 11月, 2011 2 次提交
-
-
由 Alwin Beukers 提交于
Combined mac configuration for promiscious mode and monitor mode, and removed unused monitor mode flag in pub structure. Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NAlwin Beukers <alwin@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The macro definition D11_PHY_HDR_LEN was defined in d11.h and pub.h. It has been removed from pub.h. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NRoland Vossen <rvossen@broadcom.com> Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 09 11月, 2011 5 次提交
-
-
由 Roland Vossen 提交于
Monitor mode functionality (not functional yet) requires transmit to be muted after ops_start() is called, transmit is unmuted when the first interface is added. Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NRoland Vossen <rvossen@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Roland Vossen 提交于
Softmac would bring its interface down on an RF kill switch condition, without Mac80211 intervention. Because Mac80211 should be the only party initiating interfaces going up and down, this functionality has been removed. Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NRoland Vossen <rvossen@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Roland Vossen 提交于
Softmac would bring its interface down on a certain Minimum Power Save related condition, without Mac80211 intervention. Because Mac80211 should be the only party initiating interfaces going up and down, this functionality has been removed. All notions of 'MPC' have been removed in the code as well. Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NRoland Vossen <rvossen@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Roland Vossen 提交于
The chip init sequence enables MPC (Minimum Power Consumption), but the driver disables it after that. As there are no interfaces to enable this mode the related code is unused (member variable wlc->mpc is false). Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NRoland Vossen <rvossen@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The n-phy requested some srom variables that are no longer needed and consequently not present in the srom revision 8 and higher that this driver support. This code has been removed from the n-phy. Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NRoland Vossen <rvossen@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 15 10月, 2011 1 次提交
-
-
由 Alwin Beukers 提交于
- removed unneeded fn prototypes from include files. - explicitly marked fn prototypes as extern in include files. - reordered functions to account for removed forward declarations in include files. - removed unused functions: brcms_c_txflowcontrol_override, brcms_c_txflowcontrol_prio_isset, brcms_c_txflowcontrol. Reviewed-by: NRoland Vossen <rvossen@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 12 10月, 2011 1 次提交
-
-
由 Arend van Spriel 提交于
Add the brcm80211 tree to drivers/net/wireless, and disable the version that's in drivers/staging. This version includes the sources currently in staging, plus any changes that have been sent out for review. Sources in staging will be deleted in a followup patch. Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-