summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [UDP]: Allow users to configure UDP-Lite.YOSHIFUJI Hideaki2008-03-0414-25/+99
| | | | | | | | | | | | | | | | Let's give users an option for disabling UDP-Lite (~4K). old: | text data bss dec hex filename | 286498 12432 6072 305002 4a76a net/ipv4/built-in.o | 193830 8192 3204 205226 321aa net/ipv6/ipv6.o new (without UDP-Lite): | text data bss dec hex filename | 284086 12136 5432 301654 49a56 net/ipv4/built-in.o | 191835 7832 3076 202743 317f7 net/ipv6/ipv6.o Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
* [TCP]: Add IPv6 support to TCP SYN cookiesGlenn Griffin2008-03-048-26/+338
| | | | | | | | | Updated to incorporate Eric's suggestion of using a per cpu buffer rather than allocating on the stack. Just a two line change, but will resend in it's entirety. Signed-off-by: Glenn Griffin <ggriffin.kernel@gmail.com> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
* [TCP]: lower stack usage in cookie_hash() functionEric Dumazet2008-03-041-1/+3
| | | | | | | | 400 bytes allocated on stack might be a litle bit too much. Using a per_cpu var is more friendly. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
* [ARP]: Introduce the arp_hdr_len helper.Pavel Emelyanov2008-03-036-22/+14
| | | | | | | | | | | | | | There are some place, that calculate the ARP header length. These calculations are correct, but a) some operate with "magic" constants, b) enlarge the code length (sometimes at the cost of coding style), c) are not informative from the first glance. The proposal is to introduce a helper, that includes all the good sides of these calculations. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv6: fix inet6_init/icmpv6_cleanup sections mismatchAlexey Dobriyan2008-03-031-2/+2
| | | | | Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
* [TCP]: Merge exit paths in tcp_v4_conn_request.Denis V. Lunev2008-03-031-10/+6
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SCTP]: seq_printf format warning. (fixed)Denis V. Lunev2008-03-031-1/+1
| | | | | | | sctp_association->hbinterval is unsigned long. Replace %8d with %8lu. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPV4]: skb->dst can't be NULL in ip_options_echo.Denis V. Lunev2008-03-031-4/+1
| | | | | | | | | ip_options_echo is called on the packet input path after the initial routing. The dst entry on the packet is cleared only in the several very specific places and immidiately assigned back (may be new). Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.Denis V. Lunev2008-02-291-1/+3
| | | | | | | | Functions from __exit section should not be called from ones in __init section. Fix this conflict. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2008-02-29147-8305/+10637
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26
| * mac80211: fix key replacing, hw accelJohannes Berg2008-02-291-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though I thought about it a lot and had also tested it, some of my recent changes in the key code broke replacing keys, making the kernel oops because a key is removed from a list while not on it. This patch fixes that using the list as an indication whether or not the key is on it (an empty list means it's not on any list.) Also, this patch fixes hw accel enabling, the check for not doing hw accel when the interface is down was lost and is restored by this. Additionally, move adding the key to the list into the function __ieee80211_key_replace() for more consistency. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: split ieee80211_key_alloc/freeJohannes Berg2008-02-295-98/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to RCU-ify sta_info, we need to be able to allocate a key without linking it to an sdata/sta structure (because allocation cannot be done in an rcu critical section). This patch splits up ieee80211_key_alloc() and updates all users appropriately. While at it, this patch fixes a number of race conditions such as finally making key replacement atomic, unfortunately at the expense of more complex code. Note that this patch documents /existing/ bugs with sta info and key interaction, there is currently a race condition when a sta info is freed without holding the RTNL. This will finally be fixed by a followup patch. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: remove STA infos last_ack stuffJohannes Berg2008-02-294-39/+0
| | | | | | | | | | | | | | | | | | | | These things aren't used and the only possible use is within rate control algorithms, however those can, if they need it, keep track of it in their private data. last_ack_ms isn't even updated so completely useless. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: safely free beacon in ieee80211_if_reinitJohannes Berg2008-02-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | If ieee80211_if_reinit() is called from ieee80211_unregister_hw() then it is possible that the driver will still request a beacon (it is allowed to until ieee80211_unregister_hw() has returned.) This means we need to use an RCU-protected write to the beacon information even in this function. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: clarify use of TX status/RX callbacksJohannes Berg2008-02-291-3/+34
| | | | | | | | | | | | | | | | This patch clarifies the use of the irqsafe vs. non-irq-safe functions and their respective locking requirements. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: fix all endian issues reported by sparsePavel Roskin2008-02-292-6/+6
| | | | | | | | | | | | | | | | Changes-licensed-under: ISC Signed-off-by: Pavel Roskin <proski@gnu.org> Acked-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Release rt2x00 2.1.3Ivo van Doorn2008-02-291-1/+1
| | | | | | | | | | Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Check for 5GHz band in link tunerIvo van Doorn2008-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | Fix a typo in the link tuner where accidently the 2GHz band was checked instead of the 5GHz band. This forced the link tuner to work in an invalid range for the currently active band. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * p54: print unknown eeprom fieldsFlorian Fainelli2008-02-291-0/+4
| | | | | | | | | | | | | | | | | | This patch allows p54common to print the uknown EEPROM fields, which can help when debugging/testing devices. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * adm8211: fix cfg80211 band API conversionJohannes Berg2008-02-291-0/+2
| | | | | | | | | | | | | | Insert a missing band assignment. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43legacy: Fix nondebug buildMichael Buesch2008-02-291-1/+1
| | | | | | | | | | | | | | | | Fix a typo. Signed-off-by: Michael Buesch <mb@bu3sch.de> Acked-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: Add CHIPCO IRQ access functionsAurelien Jarno2008-02-292-0/+14
| | | | | | | | | | | | | | | | This patch adds functions to setup and read the CHIPCO IRQ. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: fix IBSS codeJohannes Berg2008-02-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two errors introduced by commit 19d35612f3cd7f60dd9174c0100584e21f5a1025 Author: Bruno Randolf <bruno@thinktube.com> Date: Mon Feb 18 11:21:36 2008 +0900 mac80211: enable IBSS merging The first error is an endianness problem that sparse found and the second is a build failure when CONFIG_MAC80211_IBSS_DEBUG is not set. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: fix debugfs_sta print_mac() warningJohannes Berg2008-02-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | When print_mac() was marked as __pure to avoid emitting a function call in pr_debug() scenarios, a warning in this code surfaced since it relies on the fact that the buffer is modified and doesn't use the return value. This patch makes it use the return value instead. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Reported-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: Disallow concurrent IBSS/STA mode interfacesJohannes Berg2008-02-291-4/+47
| | | | | | | | | | | | | | | | | | | | | | Disallow having more than one IBSS interface up at any time because of beacon distribution issues, and for now also disallow having more than one IBSS/STA interface up at the same time because we use the master interface's BSS struct which would be completely corrupted when we have more than one up. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: atomically check whether STA exists alreadyJohannes Berg2008-02-295-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a STA structure is added, it is often checked whether it already exists before adding it. This, however, isn't done atomically so there is a race condition that could lead to two STA structures being added with the same MAC address. This patch changes sta_info_add() to return an ERR_PTR in case of failure and adds the failure mode -EEXIST when the STA already exists. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: rework TX filtered frame codeJohannes Berg2008-02-294-51/+91
| | | | | | | | | | | | | | | | | | | | | | This reworks the code for TX filtered frames, splitting it out to a new function to handle those cases, making the clear instruction a flag and renaming a few things to be easier to understand and less Atheros hardware specific. Finally, it also makes the comments explain more. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: fix incorrect use of CONFIG_MAC80211_IBSS_DEBUGPavel Roskin2008-02-291-1/+3
| | | | | | | | | | | | | | Configuration variables are only available to the preprocessor Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * p54: fix sparse warningsJohannes Berg2008-02-291-2/+3
| | | | | | | | | | | | | | This fixes a few sparse warnings in p54. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * adm8211: fix sparse warningsJohannes Berg2008-02-291-8/+4
| | | | | | | | | | | | | | | | | | Both of these seem to be actual errors, the first is just wrong and the second is my mistake introduced by the cfg80211 API update. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: Add support for 8bit register accessMichael Buesch2008-02-294-0/+88
| | | | | | | | | | | | | | | | This adds support for 8bit wide register reads/writes. This is needed in order to support the gigabit ethernet core. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: consolidate TIM handling codeJohannes Berg2008-02-295-83/+84
| | | | | | | | | | | | | | | | | | | | This consolidates all TIM handling code to avoid re-introducing errors with the bitmap/set_tim order and to reduce code. While reading the code I noticed a possible problem so I also added a comment about that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: remove sta TIM flag, fix expiry TIM handlingJohannes Berg2008-02-295-25/+28
| | | | | | | | | | | | | | | | | | | | | | The TIM flag that is kept in each station's info is completely useless, there's no code (aside from the debugfs display code) checking it, hence it can be removed. While doing that, I noticed that the TIM handling is broken when buffered frames expire, so fix that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: invoke set_tim() callback after setting own TIM infoJohannes Berg2008-02-293-8/+8
| | | | | | | | | | | | | | | | | | | | | | Drivers should be allowed to simply get a complete new beacon when set_tim() is invoked (and set_tim() is required for drivers that just want a beacon template!), so we need to update our own TIM bitmap before calling set_tim() so that getting the beacon will now get an already updated beacon. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * wireless: Convert to list_for_each_entry_rcu()Roel Kluin2008-02-291-3/+3
| | | | | | | | | | | | | | Convert list_for_each_rcu() to list_for_each_entry_rcu() Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * wireless: update US regulatory domainTomas Winkler2008-02-291-2/+8
| | | | | | | | | | | | | | This patch adds channels to US regulatory domain Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Release rt2x00 2.1.2Ivo van Doorn2008-02-291-1/+1
| | | | | | | | | | Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Fix MAC address defines in rt61pciIvo van Doorn2008-02-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | The MAC address offset defines were incorrect because the byte offset was used instead of word index. This bug had no affect on normal operations since these defines weren't used. (EEPROM_MAC_ADDR_0 was used to read 6 bytes from). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Fix hw mode registration with mac80211.Gertjan van Wingerde2008-02-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The supported_bands field of struct hw_mode_spec now represents a bitfield, so bitfield operators need to be tested with when setting the band data. The current code generates the following warning: [176624.986244] WARNING: at /usr/local/src/incoming/compat-wireless-2.6/net/wireless/core.c:269 wiphy_register() [176624.986249] Pid: 12548, comm: modprobe Tainted: P 2.6.24.2#4 [176624.986251] [176624.986251] Call Trace: [176624.986277] [<ffffffff881c56bf>] :cfg80211:wiphy_register+0x17f/0x1a0 [176624.986282] [<ffffffff881ddf80>] :rt61pci:rt61pci_eepromregister_write+0x0/0x80 [176624.986302] [<ffffffff88b7e4bc>] :mac80211:ieee80211_register_hw+0x2c/0x2b0 [176624.986310] [<ffffffff881cdc80>] :rt2x00lib:rt2x00lib_probe_dev+0x350/0x3f0 [176624.986318] [<ffffffff881d74b9>] :rt2x00pci:rt2x00pci_probe+0x149/0x200 [176624.986325] [<ffffffff8030c858>] pci_device_probe+0xf8/0x170 [176624.986331] [<ffffffff803594fc>] driver_probe_device+0x9c/0x1c0 [176624.986335] [<ffffffff80359700>] __driver_attach+0x0/0xb0 [176624.986337] [<ffffffff803597a5>] __driver_attach+0xa5/0xb0 [176624.986341] [<ffffffff8035877d>] bus_for_each_dev+0x4d/0x80 [176624.986347] [<ffffffff80358b8c>] bus_add_driver+0xac/0x210 [176624.986351] [<ffffffff8030cad3>] __pci_register_driver+0x73/0xc0 [176624.986357] [<ffffffff8025689e>] sys_init_module+0x18e/0x1a20 [176624.986374] [<ffffffff8020c42e>] system_call+0x7e/0x83 Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Remove async vendor request calls from rt2x00usbIvo van Doorn2008-02-294-79/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | The async vendor requests are a ugly hack which is not working correctly. The proper fix for the scheduling while atomic issue is finding out why we can't use led classes for USB drivers and fix that. Just replace all async calls with the regular ones and print an error for the disallowed LED configuration attempts. That will help in determining which led class is causing the problem. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Cleanup mode registrationIvo van Doorn2008-02-298-72/+81
| | | | | | | | | | | | | | | | | | | | | | | | Don't wildly pass any number for num_rates to rt2x00lib, instead pass which type of rates are supported (CCK, OFDM). Same for num_modes but then for the 2GHZ and 5GHZ band. This makes the interface look much nicer and makes extending it later easier. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Rename dscape -> mac80211Ivo van Doorn2008-02-296-12/+12
| | | | | | | | | | | | | | | | The dscape stack was renamed to mac80211 a long time ago, we are long overdue with fixing all comments to reflect this. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Remove reset_tsf()Ivo van Doorn2008-02-294-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | Specifications indicate the TSF registers are read-only, so there is no point in writing 0 to those registers. As far as I know there isn't another way to reset the TSF registers. So removing these callbacks will notify mac80211 about the lack of support. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Fix Descriptor DMA initializationIvo van Doorn2008-02-295-41/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | As Adam Baker reported the DMA address for the descriptor base was incorrectly initialized in the PCI drivers. Instead of the DMA base for the descriptor, the DMA base for the data was passed resulting in a broken TX/RX state for PCI drivers. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Filter ACK_CTS based on FIF_CONTROLIvo van Doorn2008-02-293-4/+6
| | | | | | | | | | | | | | | | | | | | | | The ACK_CTS frame is a control frame, this means dropping the frame depends on the FIF_CONTROL flag for filtering. This also fixes an obvious typo in register definition. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Don't report driver generated frames to tx_status()Ivo van Doorn2008-02-2910-7/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new flag for the skb_frame_desc structure which is used to tag rts/cts frames that are generated by the driver. Through the tag we can recognize frames we have generated ourselves, so we don't report their tx status to mac80211. This patch is based on the original patch by Mattias Nissler <mattias.nissler@gmx.de>. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Send frames out with configured TX powerIvo van Doorn2008-02-292-6/+2
| | | | | | | | | | | | | | | | | | | | | | mac80211 sends the txpower to use during config(), we already store it in the rt2x00_dev structure. When writing the descriptor correctly initialize the txpower field with this value to make sure all frames are send out with the correct tx power. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Release rt2x00 2.1.1Ivo van Doorn2008-02-291-1/+1
| | | | | | | | | | Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Kill guardian urb during disable_radioIvo van Doorn2008-02-291-1/+18
| | | | | | | | | | | | | | | | | | When the radio is being disabled we should also kill the guardian urb which could still be pending in the device. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Cleanup MakefileIvo van Doorn2008-02-291-25/+16
| | | | | | | | | | | | | | | | | | Simplify the way rt2x00 assigns new objects to the rt2x00lib module. This saves a few if statements and overall does this looks much nicer. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
OpenPOWER on IntegriCloud