- 23 Aug, 2011 40 commits
-
-
Arend van Spriel authored
The brcmsmac driver supports different rates on 5GHz but this is not taken into account when providing the rate index in the receive status information passed to mac80211. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Message 'receive fifo overflow' appeared in the log. Root cause was an invalid physical address being programmed into the DMA engine. This was caused by an invalid pointer cast in the dma code. Issue was observed on a Sparc (Sun Fire V120) machine but could theoretically also pop up on other architectures. Driver was tested to scan and ping on aforementioned machine. Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Problem would pop up during driver load on a Sun Fire V120 and manifested itself as an exception. This was caused by int* pointers provided to memcpy() that were not aligned on an int boundary. The pointer type provided to memcpy() is used by the compiler for optimization purposes. Fix was to cast the int* pointers to void* pointers. Bernhard R. Link and David S. Miller provided valuable feedback, thanks gents. Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
When bringing down the netdevice interface a deadlock occurred sporadically due to the rtnl_lock being held by a task that was waiting for another task trying to get the lock. This patch fixes that issue. Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Fix the __aligned checkpatch warning in wl_cfg80211.h Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The cordic function which calculates cosine and sine values for given angle is now provided in library module. The phy code now uses this module function. Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The crc8 function is now available as a library function provided by kernel module crc8.ko. The function has been removed from brcmutil module and srom.c now uses crc8 library function. Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Henry Ptasinski authored
brcmsmac doesn't yet use bcma, but both drivers attempt to claim the same device. For now, turn of brcmsmac if bcma is enabled. Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Certain Mips based, big endian Broadcom products contain a memory window for endianness swap purposes. However, this is too system specific for this driver as there are more big endian platforms to support. Thus, this 'window' functionality is not to be used and can be removed. The swap window would be a performance improvement and could be provided with a dedicated mapping function in the platform specific code. Tested on BCM63281. Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The inline function dma_spin_for_len() was defined for MIPS platforms but the problem only occurs with dma of the PCI core in bcm47xx chips. This patch restricts the function further to BCM47XX platforms only. Tested on BCM63281. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The driver contained conditional code for resolving issue with dma transaction reordering. This code was conditionalized using __mips__ macro, but it actually is specific to bcm47xx chips. This patch replaces it for the more speficic CONFIG_BCM47XX macro. Tested on BCM63281. Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The include <asm/addrspace.h> has been removed as it is not needed. None of the definitions from it are used in the source file. Tested on BCM63281. Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Henry Ptasinski authored
The firmware files are encoded as little-endian. Do the appropriate swapping for big-endian platforms. Tested on Mac G5 PPC and BCM63281. Signed-off-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Henry Ptasinski authored
Swapping the addresses is unnecessary, since the swaps are handled by the underlying platform code (i.e. readb() etc. handle any necessary swapping). Tested on Mac G5 PPC and BCM63281. Signed-off-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Henry Ptasinski authored
The original implementation iterated over the data in buf+1 through buf+size, whereas it should have been over the data in buf through buf+size-1. Tested on Mac G5 PPC and BCM63281. Signed-off-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Tested-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The macro BUS_SWAP32(a) expanded to (a) which was fine for a little endian system. For big endian platform this should do as the name implies. As the driver is intended for PCI which is little-endian the macro cpu_to_le32() can be used instead. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
Four macros with PHYSADDR name prefix are not doing a lot and complicate code readability. These have been expanded in the source code and consequently removed the definitions. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The macros W_SM and R_SM are not doing much conversion of the macro parameters and complicate code readability without good cause. It is more clear to remove usage of the macros expanding it in the source code. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Remove improper usage of void * in dhd_linux.c and dhd_sdio.c Reported-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Code cleanup. Replaced void pointers by less generic pointer types. Reported-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Code cleanup. Otp is 'One Time Programmable' functionality. Replaced void pointers by less generic pointer types. Reported-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Code cleanup. Replaced by less generic pointer types. Reported-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Roland Vossen authored
Code cleanup. Replace void * related to PCI functionality by less generic pointer types. Reported-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Get rid of some unused void *data parameter Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Remove legacy dead code of SDTEST Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Remove redundant complete function pointer in send/recv buffer interface. Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Use brcmf_sdioh_request_byte directly instead of calling brcmf_sdioh_cfg_read and brcmf_sdioh_cfg_write in brcmfmac Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Code cleanup for brcmfmac Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
brcmfmac wrapper function cleanup Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
brcmfmac wrapper function cleanup Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
brcmfmac wrapper function cleanup Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
fullmac wrapper function cleanup. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
wext support code have been removed a while ago. This patch removes the traces left behind. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Use sdio function pointer stored in struct brcmf_sdio_dev instead of those in gInstance. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Use brcmf_sdio_dev as the unified structure to store information of device. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Franky Lin authored
Iovar IOV_BLOCKSIZE code is not actually setting the sdio function's block size. Use cur_blksize provided by mmc core where necessary. Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
In wl_cfg80211.c two semaphores were used to trigger a task to process an event. The wait queues are better suited for that purpose. This also removes checkpatch warning on sema_init() calls in this source file. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
The only remaining TODO item has been tackled so it was removed. No other TODO items left. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
Several issue have been reported building the driver on big endian systems. Following commits were done on driver Kconfig: d4620396 Staging: brcm80211: disable drivers except for X86 or MIPS platforms 15e5201d Staging: brcm80211: disable drivers for PPC platforms These problems have been resolved so the added 'depends' lines in the Kconfig have been removed. Compile tested it for following architectures: little endian x86 x86_64 arm mips big endian ppc64 sparc64 mips Reported-by: David S. Miller <davem@davemloft.net> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-by: Greg Kroah-Hartman <gregkh@suse.de> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Arend van Spriel authored
Building for the ARM resulted in a compiler warning about usage of a possibly uninitialized variable. The warning is valid and the code has been fixed accordingly. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-