aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
* rt2x00: Fix queue index handlingIvo van Doorn2008-02-29
| | | | | | | | When Q_INDEX is increased, the queue->length should be increased, only when Q_INDEX_DONE is increased should queue_length be descreased. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Move beacon and atim queue defines into rt2x00Ivo van Doorn2008-02-29
| | | | | | | | | | | | | | | As Johannes Berg indicated the BEACON and AFTER_BEACON queue indeces in mac80211 should be removed because they are too hardware specific. This patch adds the queue index defines into rt2x00queue.h and removes the dependency of the defines inside mac80211.h. Also move rt2x00pci_beacon_update() into rt2400pci and rt2500pci individually since it is no longer a generic function since rt61 and rt2800 no longer use that. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Initialize QID from queue->qidIvo van Doorn2008-02-29
| | | | | | | | | The QID_MGMT is assigned to the beacon and atim queue during initialization. This means we don't need a seperate check in write_tx_desc().. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Remove TX_MGMT queue usageIvo van Doorn2008-02-29
| | | | | | | | | rt73usb doesn't have a 5th queue, correctly initialize hw->queues rt61pci had a 5th queue but was removed recently, correctly initialize hw->queues and remove the last remnants. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Add per-interface structureIvo van Doorn2008-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the interface handling. Delete the interface structure and replace it with a per-interface structure. This changes the way rt2x00 handles the active interface drastically. Copy ieee80211_bss_conf to the this rt2x00_intf structure during the bss_info_changed() callback function. This will allow us to reference it later, and removes the requirement for the device flag SHORT_PREAMBLE flag which is interface specific. Drivers receive the option to give the maximum number of virtual interfaces the device can handle. Virtual interface support: rt2400pci: 1 sta or 1 ap, * monitor interfaces rt2500pci: 1 sta or 1 ap, * monitor interfaces rt2500usb: 1 sta or 1 ap, * monitor interfaces rt61pci: 1 sta or 4 ap, * monitor interfaces rt73usb: 1 sta or 4 ap, * monitor interfaces At the moment none of the drivers support AP and STA interfaces simultaneously, this is a hardware limitation so future support will be very unlikely. Each interface structure receives its dedicated beacon entry, with this we can easily work with beaconing while multiple master mode interfaces are currently active. The configuration handlers for the MAC, BSSID and type are often called together since they all belong to the interface configuration. Merge the 3 configuration calls and cleanup the API between rt2x00lib and the drivers. While we are cleaning up the interface configuration anyway, we might as well clean up the configuration handler as well. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Driver requiring firmware should select crc algoIvo van Doorn2008-02-29
| | | | | | | | | | | | | | | The driver should select what CRC algorithm is required when performing a checksum on the firmware. rt61pci & rt73usb require crc-itu-t rt2800pci & rt2800usb require crc-ccitt Legacy 2800pci/usb driver uses crc-itu-t + bit order reversion, but that is just inefficient especially since the end result is the same as a different algorithm which is also available as library. ;) Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Enable master and adhoc mode againIvo van Doorn2008-02-29
| | | | | | | | | | | This will enable the creation of master mode and adhoc interfaces again. This does not mean the issues surrounding beaconing have been resolved, but this will make testing easier and perhaps we can discover which cards are actually working and which ones not. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix tx parameter initializationIvo van Doorn2008-02-29
| | | | | | | | | | Check if the aifs, cw_min and cw_max are above 0 when determining if the default should be used. Tor aifs a negative number is used to determine if the default should be used or not. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: don't write past the end when writing short descriptors on rt61Adam Baker2008-02-29
| | | | | | | | | | The space allocated in the skb for a descriptor is only 24 bytes when setting up beacons in rt61 so make sure we don't write to the descriptor words beyond that and corrupt the beacon packet. Signed-off-by: Adam Baker <linux@baker-net.org.uk> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Queue handling overhaulIvo van Doorn2008-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a big queue handling overhaul, this also renames "ring" to "queues". Move queue handling into rt2x00queue.c and the matching header, use Kerneldoc to improve rt2x00 library documentation. Access to the queues is now protected under a spinlock, this to prevent race conditions which could corrupt the indexing system of the queue. Each queue entry allocates x bytes for driver/device specific data, this cleans up the queue structure significantly and improves code readability. rt2500usb no longer needs 2 entries in the beacon queue to correctly send out the guardian byte. This is now handled in the entry specific structure. rt61 and rt73 now use the correct descriptor size for beacon frames, since this data is written into the registers not the entire TXD descriptor was used but instead of a subset of it named TXINFO. Finally this also fixes numerous other bugs related to incorrect beacon handling or beacon related code. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Update copyright noticeIvo van Doorn2008-02-29
| | | | | Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wireless/iwlwifi/iwl-4965.c: add parenthesesRoel Kluin2008-02-29
| | | | | | | '!' has a higher priority than '&': bitanding has no effect. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: enable 802.11n in KconfigTomas Winkler2008-02-29
| | | | | | | | | | | This patch removes 'IWL4965_HT: depends on n' from iwlwifi's Kconfig 1. 11n is functional so no need to make it invisible in the configuration 2. Latest Johannes patch 'cfg80211 API for channels/bitrates, mac80211 and driver conversion' broke compilation because this config option was invisible - patch fixing it will be provided later Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: A-MPDU Tx activation by load measuresRon Rindjunsky2008-02-29
| | | | | | | | | This patch gives a heuristic for activation of the A-MPDU Tx. As the rate scaling is rate aware, it now also measures estimated load, and sends A-MPDU activation after a threshold has been met. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: A-MPDU Tx conform block Ack rate scaling to mac80211Ron Rindjunsky2008-02-29
| | | | | | | | This patch uses the changes in ieee80211_tx_status to pass Block Ack data to rate scaling module, and uses this data in rate scaling calculations Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: A-MPDU Tx conform flows to mac80211Ron Rindjunsky2008-02-29
| | | | | | | | This patch alters the current iwlwifi behavior to fit the flows introduced by the mac80211, mainly queues handling and start/stop call backs flows Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: A-MPDU Tx conform API to mac80211Ron Rindjunsky2008-02-29
| | | | | | | | This patch alters the current API in order to fit the new API mac80211 gives for A-MPDU Tx Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: A-MPDU Tx add session's and low level driver's APIRon Rindjunsky2008-02-29
| | | | | | | | | | | | | | | | This patch adds the API for 3 stages in A-MPDU Tx session flow: - request mac80211 to start/stop A-MPDU Tx session for specific TID. such a request should be issued by a load aware element, either mac80211 itself or external element. - requests by mac80211 to low-level driver to start/stop Tx aggregation. notice that low level driver responds now with Starting Sequence Number. - async feedback by low-level to mac80211 to inform that HW is ready for next A-MPDU Tx state. Changes in API to Rx A-MPDU were also made, reflected in iwlwifi changes as well. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: rename/document scan_channelHolger Schurig2008-02-29
| | | | | | | | | | | | Rename last_scanned_channel to scan_channel, just so that a grep for struct bss_descriptor's last_scanned element doesn't show up so many positives. Also documented the variable and moved it to other scan related entries in lbs_private. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make lbs_unset_basic_rate_flags() staticHolger Schurig2008-02-29
| | | | | | | ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make lbs_sync_channel() staticHolger Schurig2008-02-29
| | | | | | | ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make association debug output nicerHolger Schurig2008-02-29
| | | | | | | | This also fixes a bug where should_deauth_infrastructure() always returned 0. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: trim overly long debug statementHolger Schurig2008-02-29
| | | | | Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* [NIU]: Add Support for Sun ATCA Blade Server.Matheos Worku2008-02-29
| | | | | | | | | | Ports 0 and 1 of the NIU device are connected to extended fabric through SERDES. Ports 2 and 3 are connected using RGMII Fiber mode. [ Coding style cleanups... -DaveM ] Signed-off-by: Matheos Worku <matheos.worku@sun.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Disable inetaddr notifiers in namespaces other than initial.Denis V. Lunev2008-02-28
| | | | | | | ip_fib_init is kept enabled. It is already namespace-aware. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPV4]: Remove ifa != NULL check.Denis V. Lunev2008-02-28
| | | | | | | | | | This is a callback registered to inet address notifier chain. The check is useless as: - ifa is always != NULL - similar checks are abscent in all other notifiers. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: update version, remove CVS stringsEliezer Tamir2008-02-28
| | | | | Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Fix Xmit bugsEliezer Tamir2008-02-28
| | | | | | | | | Several endianity corrections in start_xmit() Fixed TSO bug where packets were missing the TCP flags. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Prevent PCI queue overflowEliezer Tamir2008-02-28
| | | | | | | Limit traffic through an internal queue to prevent overflow. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: fix slowpath races and lockingEliezer Tamir2008-02-28
| | | | | | | | | | | | | | | | | | | Fixed locking between fastpath and slowpath operations. Corrected order of traffic disabling to prevent race when going down under traffic. - first have the microcode drop all incoming packets - then do the slowpath stuff - only then reset the MAC Got rid of in_reset_task. Remove_one() and friends would deference a null pointer if init_one failed. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: fix HW attentions and error handlingEliezer Tamir2008-02-28
| | | | | | | | | | | | | Some of the HW attentions, used to indicate an error were not properly acked. This will cause the driver to endlessly receive interrupts when such an error happens. Had to break the code into smaller chunks because it got too nested. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: fix MSI-X/INT#A errataEliezer Tamir2008-02-28
| | | | | | | | | | Errata A0.158 workaround. Running in INT#A mode after running with MSI-X fails due to a PCI core bug. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: correct statisticsEliezer Tamir2008-02-28
| | | | | | | Errors were summed improperly, some stats were missing. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Correct RX filtering and MC configurationEliezer Tamir2008-02-28
| | | | | | | | | | | | | | | The configuration of RX filtering needed the following corrections: Drop flags need to be set per Rx queue. Have to tell the microcode to collect drop stats, and properly wait for them to complete when going down. Sometimes we failed to detect proper completion due to a logical error in the wait loop. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Correct Link managementEliezer Tamir2008-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Properly protect PHY access between two devices on the same board with a HW lock. Use GPIO to clear all previous configurations before changing link parameters. Shut down the external PHY in case of fan failure. Reducing the MDC/MDIO clock to 2.5MHz due to problems with some devices. Resolve the flow control response according to autoneg with external PHY. Unmasking all PHY interrupts in single write to prevent a race in the interrupts order. LASI indication fixes to work with peculiarities of PHYs. Disable MAC RX to avoid a HW bug when closing the MAC under traffic. Disable parallel detection on HiGig due to HW limitation. Updating the shared memory structure to work with the current bootcode. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Correct init_one()Eliezer Tamir2008-02-28
| | | | | | | | Correct PCI-E info printed by init_one() In one case it failed to free the netdev. Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [BNX2X]: Spelling fixesEliezer Tamir2008-02-28
| | | | | Signed-off-by: Eliezer Tamir <eliezert@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Don't build bcm43xx if SSB is static and b43 PCI-SSB bridge is enabled.Alexey Zaytsev2008-02-28
| | | | | | | | | | This may happen e.g. when the ssb is statically enables by the b44 driver, and the b43 pci-ssb bridge is enbled by the b43/b43legacy drivers, or the b43/b43legacy drivers are built statically. Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Use a separate config option for the b43 pci to ssb bridge.Alexey Zaytsev2008-02-28
| | | | | | | | | | | | | The bridge code was unnecessary enabled by the b44 driver, but it prevents the bcm43xx driver from being loaded, as the bridge claims the same pci ids. Now we enable the birdge only if the b43{legacy} drivers are selected. Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: Remove unused exportsRoland Dreier2008-02-28
| | | | | | | | | | | | | | | | | The libertas driver exports a number of symbols with no in-tree users; remove these unused exports. lbs_reset_device() is completely unused, with no callers at all, so remove the function completely. A couple of these unused exported symbols are static, which causes the following build error on ia64 with gcc 4.2.3: drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict Signed-off-by: Roland Dreier <rolandd@cisco.com> Acked-by: Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix rt2x00lib_reset_link_tuner()Ivo van Doorn2008-02-28
| | | | | | | | | | | | | | | | | rt2x00lib_reset_link_tuner() can be called from within the link tuner itself. This means that it should _not_ call rt2x00lib_stop_link_tuner() since that will cause the thread to hang. Reorder the things that should be done during a link tuner reset and during a link tuner start. Also make antenna tuning the last step of the link tuner since it could possibly reset some statistical information which we need for average calculation. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Don't switch to antenna with low rssiIvo van Doorn2008-02-28
| | | | | | | | | | | | When rssi_a > rssi_b is true and the current antenna was already antenna A, then rt2x00 incorrectly jumped to antenna B. Also don't configure the antenna when there has been no change in the antenna setup. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Add link tuner safe RX toggle statesIvo van Doorn2008-02-28
| | | | | | | | | | | | | This adds 2 new states which both are used to toggle the RX. These new states are required for usage inside the link tuner thread, because the normal RX toggling will stop the link tuner thread. While it is possible that the link tuner thread itself is the caller of the RX toggle (when using software antenna diversity). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix antenna diversityIvo van Doorn2008-02-28
| | | | | | | | | | | | | | | Fix 2 issues in antenna diversity selection. 1) the following statement will always return true. if ((rssi_curr - rssi_old) > -5 || (rssi_curr - rssi_old) < 5) It is cleaner to check if the absolute value is smaller then 5. 2) Only enable software diversity when default antenna setup indicates support for it. Don't select it when the hardware does not indicate support for it... Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* gelic wireless driver needs WIRELESS_EXT supportSebastian Siewior2008-02-28
| | | | | | | | | | | | | | | | | CC drivers/net/ps3_gelic_wireless.o | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c: In function 'gelic_wl_setup_netdev_ops': | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2660: error: 'struct net_device' has no member named 'wireless_data' | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2661: error: 'struct net_device' has no member named 'wireless_handlers' | make[3]: *** [drivers/net/ps3_gelic_wireless.o] Error 1 | make[2]: *** [drivers/net] Error 2 | make[1]: *** [drivers] Error 2 | make[1]: *** Waiting for unfinished jobs.... | make: *** [sub-make] Error 2 Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc> Acked-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* PS3: gelic: Link the wireless net_device structure to the corresponding ↵Masakazu Mokuno2008-02-28
| | | | | | | | | | | | | | device structure Link the net_device structure of the wireless part to the corresponding device structure. Without this, the sysfs node for this net_device would not have 'device' link. Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rndis_wlan: fix sparse warningsJohannes Berg2008-02-28
| | | | | | | | | It is obviously wrong to use an enum in a little endian struct, and those other enums should be declared differently. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* [MACVLAN]: Update Kconfig to refer to iproutePatrick McHardy2008-02-26
| | | | | | | | | Since the macvlan release I had at least 5 users asking how to configure it since the old userspace tool doesn't work with the version in the kernel. Add a pointer to the Kconfig help. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* e1000e: remove unused read value in ASPM disable code.Auke Kok2008-02-24
| | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000e: fix spelling errors in commentsAuke Kok2008-02-24
| | | | | | | Fix some spelling errors and inconsistencies in comment blocks. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>