summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* hostap_cs: don't match revisions in presense of the MAC chip namePavel Roskin2008-01-291-9/+6Star
| | | | | | | | | | | | If the third PCMCIA ID string specifies the MAC chip, the fourth ID string doesn't need to be matched. Even if it's different, it will be compatible with the driver. This ensures that other different revisions of the card will be supported. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Remove the PHY spinlockMichael Buesch2008-01-295-65/+36Star
| | | | | | | | | | This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix PHY register routingMichael Buesch2008-01-293-114/+145
| | | | | | | | | This fixes the PHY routing bit handling. This is needed for N-PHY. No functional change to A-PHY and G-PHY code. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add N-PHY register definitionsMichael Buesch2008-01-295-12/+760
| | | | | | | | | This patch adds all register definitions for the N-PHY. This adds two new files: nphy.h and nphy.c No functional changes to existing code. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* zd1211rw: fix alignment for QOS and WDS framesMichael Buesch2008-01-291-1/+16
| | | | | | | | This patch fixes RX packet alignment issues in the zd1211rw driver. This is based on a patch by Johannes Berg. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: fix compilation warning in 'iwl-4965.c'Miguel Botón2008-01-291-1/+1
| | | | | | | | | This patch fixes a compilation warning in 'iwl-4965.c'. "warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’" Signed-off-by: Miguel Botón <mboton@gmail.com Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Release rt2x00 2.0.14Ivo van Doorn2008-01-291-1/+1
| | | | | Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Correctly initialize data and desc pointerIvo van Doorn2008-01-293-2/+19
| | | | | | | | | rt2500usb and rt73usb store the descriptor in different places. This means we should move the initialization of the 2 pointers to the driver callback function fill_rxdone(). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Move init_txring and init_rxring into rt2x00libIvo van Doorn2008-01-299-204/+163Star
| | | | | | | | | Prior to enabling the radio rt2x00lib should go through all rings and for each entry should call the callback function init_txentry() and init_rxentry(). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Determine MY_BSS from descriptorIvo van Doorn2008-01-297-19/+11Star
| | | | | | | | | | Use the MY_BSS descriptor field to determine if the received frame belongs to the same BSS as the interface. This can be used by rxdone to determine if the frame should be updated or not. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Cleanup write_tx_desc() argumentsIvo van Doorn2008-01-297-31/+27Star
| | | | | | | | | | | Send the skb structure with write_tx_desc() and use the skbdesc structure to read all information about the frame. This saves several arguments in the function definition and it is easier to send more information later as well. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Move packet filter flagsIvo van Doorn2008-01-297-37/+19Star
| | | | | | | | | | | | The packet filter flags don't belong in the interface structure because they are device based instead of interface based. So move the filter fields out of struct interface and into rt2x00_dev. Additionally we shouldn't change the filter based on the working mode, if such a thing is needed than mac80211 should have done that. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Move start() and stop() handlers into rt2x00lib.cIvo van Doorn2008-01-293-46/+66
| | | | | | | | | | | | | | suspend & resume was broken since it called rt2x00mac_start() and rt2x00mac_stop() which would fail to execute because the DEVICE_PRESENT flag was not set. Move the start and stop handlers into rt2x00lib.c which are called from rt2x00mac_start() and rt2x00mac_stop() after they have checked the DEVICE_PRESENT flag, while suspend and resume handlers can directly call those functions. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Store queue idx and entry idx in data_ring and data_entryIvo van Doorn2008-01-295-14/+22
| | | | | | | | | Store the queue idx inside structure data_ring Store the entry idx inside structure data_entry This saves us a few calls to ARRAY_INDEX() which is now unused. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Only set the TBCN flag when the interface is configured to send beacons.Ivo van Doorn2008-01-295-5/+8
| | | | | | | | | | | | | | | These flags used to be fixed to one in rt2500pci_config_type, which caused the beacon timer interrupt to fire. This would lead to rt2x00lib_beacondone adding work which called rt2x00lib_beacondone_scheduled which called ieee80211_beacon_get which printed an error about not having any beacon data. With this patch, these interrupts are only generated when the interface is configured to send beacons. Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Always call ieee80211_stop_queue() when return NETDEV_TX_BUSYIvo van Doorn2008-01-293-18/+15Star
| | | | | | | | | | Apparently it was possible that ieee80211_stop_queue() was not full while NETDEV_TX_BUSY was being reported back. I think that is what causing the WARN_ON(). This moves all calls to ieee80211_stop_queue() in rt2x00mac.c where it is easier to determine if the queue should be halted. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix chipset debugfs fileIvo van Doorn2008-01-291-3/+2Star
| | | | | | | | | | Initialize blob->data before moving the data pointer Initialize blob->size based on blob->data size This fixes the empty chipset file in debugfs. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix any N-PHY related WARN_ON() in the attach stage.Michael Buesch2008-01-292-92/+60Star
| | | | | | | This fixes all WARN_ON()s in the attach stage. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add NPHY kconfig optionMichael Buesch2008-01-292-0/+17
| | | | | | | | | | | | | | This adds a new Kconfig option for enabling probing of N-PHYs. This option will be removed again once the stuff works. For now it is to help in development. This way real users won't execute the broken N-PHY codepaths, but the developers can easily enable N-PHY stuff. To enable N-PHY probing simply remove the BROKEN dependency and enable the option in the kernel config. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43-ssb-bridge: Add PCI ID for BCM43XGMichael Buesch2008-01-291-0/+1
| | | | | | | This adds the PCI ID 0x4329 for the BCM43XG. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b44: power down PHY when interface downMiguel Botón2008-01-291-5/+23
| | | | | | | | This is just this patch (http://lkml.org/lkml/2007/7/1/51) but adapted to the 'b44' ssb driver. Signed-off-by: Miguel Botón <mboton@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add definitions for MAC Control registerMichael Buesch2008-01-292-22/+28
| | | | | | | | | This adds some definitions for the MAC Control register and uses them. This basically is no functional change. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Remove PIO supportMichael Buesch2008-01-298-252/+21Star
| | | | | | | | | | | | | | | Remove b43 PIO support. DMA works well on all supported devices. There's no reason to use PIO. Additionally, new devices don't support PIO in hardware anymore. b43 PIO support is dead and unused code. After applying this patch please do git rm drivers/net/wireless/b43/pio.h git rm drivers/net/wireless/b43/pio.c to remove the main PIO support code. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: Fix PCMCIA lowlevel register accessMichael Buesch2008-01-291-28/+43
| | | | | | | | | | | | This fixes lowlevel register access for PCMCIA based devices. The patch also adds a temporary workaround for the device mac address. It simply adds generation of a random address. The real SPROM extraction will follow in another patch. The temporary workaround will be removed then, but for now it's OK. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix chip access validation for new devicesMichael Buesch2008-01-292-15/+30
| | | | | | | | | | This fixes chip access validation for newer devices (4318 and up, I think) This patch fixes probing of a PCMCIA based 4318 device. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Only select allowed TX and RX antennasMichael Buesch2008-01-293-12/+42
| | | | | | | | | | | This fixes antenna selection in b43. It adds a sanity check for the antenna numbers we get from mac80211. This patch depends on ssb: Fix extraction of values from SPROM Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: Fix extraction of values from SPROMMichael Buesch2008-01-294-27/+66
| | | | | | | | | This fixes extraction of some values from the SPROM. It mainly fixes extraction of antenna related values, which is needed for another b43 fix sent later. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: fix typo in 'drivers/net/wireless/iwlwifi/Kconfig'Zhu Yi2008-01-291-2/+2
| | | | | | | | | | Based on a patch by Miguel. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Cc: Miguel Boton <mboton.lkml@gmail.com> Cc: "John W. Linville" <linville@tuxdriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* prism54: remove questionable down_interruptible usageDaniel Walker2008-01-291-8/+4Star
| | | | | | | | | | | | Reviewing the semaphore usage I noticed these down_interruptible calls. Most of these aren't returning anything, so a caller can't tell if the operation completed or not. prism54_wpa_bss_ie_get() returns zero, but it's treated as the function failing which doesn't seem correct. Signed-off-by: Daniel Walker <dwalker@mvista.com> Cc: Michael Wu <flamingice@sourmilk.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Revert "rtl8187: fix tx power reading"John W. Linville2008-01-291-4/+4
| | | | | | | | | | | | This reverts commit e4128a54d790658ab265c915e5da9153ff74af97. On Sunday 02 December 2007 17:17:51 Michael Wu wrote: > CCK and OFDM power levels are stored in adjacent bytes, not nibbles. > This turns out to be true only for rtl8180. On rtl8187, power levels are indeed stored in nibbles, so this patch is wrong. Please revert this patch. Signed-off-by: John W. Linville <linville@tuxdriver.com>
* misc wireless annotationsAl Viro2008-01-296-25/+25
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2200: do not byteswap struct ipw_associateAl Viro2008-01-292-40/+26Star
| | | | | | | keep it little-endian, update places that use its members Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2200 trivial annotationsAl Viro2008-01-292-94/+90Star
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* prism54 trivial annotationsAl Viro2008-01-294-26/+26
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* bcm43xx annotationsAl Viro2008-01-294-29/+29
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* p54pci: endianness annotations and fixesAl Viro2008-01-292-10/+10
| | | | | | | | ->ring_control_dma is dma_addr_t, needs conversion to little-endian before __raw_writel()... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* hostap: don't mess with mixed-endian even for internal skb queuesAl Viro2008-01-292-10/+9Star
| | | | | | | Just leave hfa384x_info_frame as-is, don't convert in place. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* hostap annotationsAl Viro2008-01-2911-235/+233Star
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: last of endianness annotationsAl Viro2008-01-291-226/+218Star
| | | | | | | sanitize handling of ConfigRid Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize handling of StatusRidAl Viro2008-01-291-65/+67
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize APListRid handlingAl Viro2008-01-291-12/+11Star
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize handling of CapabilityRidAl Viro2008-01-291-63/+69
| | | | | | | | Don't byteswap any fields, annotate. That has caught a bug, BTW - will be handled in the next patch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize handling of StatsRidAl Viro2008-01-291-36/+42
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize handling of WepKeyRidAl Viro2008-01-291-39/+33Star
| | | | | | | don't byteswap, update users to match that, annotate. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize BSSListRid handlingAl Viro2008-01-291-39/+30Star
| | | | | | | | | | Stop byteswap-in-place in readBSSListRid(), annotate the sucker. BTW, that had immediately found a bug - another codepath fetching the same struct from card did _not_ byteswap, but used ->dBm the same as everything else - host-endian. Fix in the next patch... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* bap_read()/bap_write() work with fixed-endian buffersAl Viro2008-01-291-27/+29
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: sanitize handling of SSID_ridAl Viro2008-01-291-54/+49Star
| | | | | | | | | * store SSID_rid without conversions * sanitize proc_SSID_on_close() (and avoid access past the end of buffer, while we are at it) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* airo: trivial endianness annotationsAl Viro2008-01-291-25/+26
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2200: ipw_tx_skb() endianness bugAl Viro2008-01-291-1/+1
| | | | | | | | We'd just set tfd->u.data.chunk_len[i] to cpu_to_le16(remaining_bytes); passing it to pci_map_single() is a bad idea - it expects host-endian. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2200 fix: ->rt_chbitmask is le16Al Viro2008-01-291-2/+2
| | | | | | | | | A couple of places forgot cpu_to_le16() in assignments to that field, even though right next to those in other branches of if-else we do it correctly. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>