27 Aug, 2008
5 commits
-
This sets the sysfs permissions so that root can toggle the `debug'
parameter available for nearly every DCCP module. This is useful
since there are various module inter-dependencies. The debug flag
can now be toggled at runtime usingecho 1 > /sys/module/dccp/parameters/dccp_debug
echo 1 > /sys/module/dccp_ccid2/parameters/ccid2_debug
echo 1 > /sys/module/dccp_ccid3/parameters/ccid3_debug
echo 1 > /sys/module/dccp_tfrc_lib/parameters/tfrc_debugThe last is not very useful yet, since no code at the moment calls
the tfrc_debug() macro.Signed-off-by: Gerrit Renker
-
dccp_disconnect() can be called due to several reasons:
1. when the connection setup failed (inet_stream_connect());
2. when shutting down (inet_shutdown(), inet_csk_listen_stop());
3. when aborting the connection (dccp_close() with 0 linger time).In case (1) the write queue is empty. This patch empties the write queue,
if in case (2) or (3) it was not yet empty.This avoids triggering the write-queue BUG_TRAP in sk_stream_kill_queues()
later on.It also seems natural to do: when breaking an association, to delete all
packets that were originally intended for the soon-disconnected end (compare
with call to tcp_write_queue_purge in tcp_disconnect()).Signed-off-by: Gerrit Renker
-
This updates the use of the `out_invalid_option' label, which produces a
Reset (code 5, "Option Error"), to fill in the Data1...Data3 fields as
specified in RFC 4340, 5.6.Signed-off-by: Gerrit Renker
-
This updates the option-parsing code with regard to RFC 4340, 5.8:
"[..] options with nonsensical lengths (length byte less than two or more
than the remaining space in the options portion of the header) MUST be
ignored, and any option space following an option with nonsensical length
MUST likewise be ignored."Hence in the following cases erratic options will be ignored:
1. The type byte of a multi-byte option is the last byte of the header
options (i.e. effective option length of 1).
2. The value of the length byte is less than the minimum 2. This has been
changed from previously 3: although no multi-byte option with a length
less than 3 yet exists (cf. table 3 in 5.8), a length of 2 is valid.
(The switch-statement in dccp_parse has further per-option length checks.)
3. The option length exceeds the length of the remaining option space.Signed-off-by: Gerrit Renker
-
RFC4340 states that if a packet is received with an option error (such as a
Mandatory Option as the last byte of the option list), the endpoint should
repond with a Reset.In the LISTEN and RESPOND states, the endpoint correctly reponds with Reset,
while in the REQUEST/OPEN states, packets with option errors are just ignored.The packet sequence is as follows:
Case 1:
Endpoint A Endpoint B
(CLOSED) (CLOSED)(*1)
(with invalid option)
(*2)
(with invalid option)
Acked-by: Arnaldo Carvalho de Melo
Acked-by: Gerrit Renker
23 Aug, 2008
35 commits
-
Some duplicated code lying around. Located with my suffix tree
tool.Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Large block of code duplication removed.
Sadly, the return value thing is a bit tricky here but it
seems the most sensible way to return positive from validator
on success rather than negative.Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Use the MIC algorithm from the crypto subsystem.
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Read the packet data off the hardware and straight into an skb in the
interrupt. We have to do this in case we don't process the tasklet in
time.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Includes basic plumbing to get the data into firmware, and retrieve it.
SIOCxIWGENIE simply record (and return) the IE, and do not act on it.
SIOCxIWENCODEEXT, SIOCxIWAUTH and SIOCSIWMLME should be as functional as
the driver will support.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
The macro identifiers for the various ioctls required for WPA support
are longer than those currently used by the driver. This makes it messy
to keep line length below 80 character.By defining a macro to initialise the handler table, we recover the
common text.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
This allows us to send more wevents from the work thread. We will need
to do this to support WPA.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
For WPA support we need to encode NONE, WEP and TKIP in the encoding
parameter. In anticipation of this we need to change the usage away from
the current boolean usage.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
This provides more information than the standard Agere scan, including
the WPA IE.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Just sprinkle the necessary structs around...
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
The tx control word has moved into the 802.11 header area on these
firmwares.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Firmware download is enabled for Agere in orinoco_cs. Symbol firmware
download has been moved out of spectrum_cs into orinoco_cs. Firmware
download is not enabled for Intersil.Symbol based firmware is restricted to only download on spectrum_cs
based cards.The firmware names are hardcoded for each firmware type.
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Add programming initialisation and termination functions.
Add checks to avoid overrunning the firmware image or PDA areas.
Extra algorithm to program PDA values using defaults where necessary.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Ensure PDA read is terminated.
Prevent invalid programming blocks from causing reads outside the
firmware image
Turn off aux stuff when finished.
Option to program in limited block sizes (controlled by macro).
Option to read PDA from EEPROM.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Move the functionality from spectrum_cs to hermes_dld in preparation for
making it more generic and usable by other orinoco drivers.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
The current synchronous execution function doesn't work
for certain Hermes commands which clear the MAGIC number from
SWSUPPORT0. These commands seem to be related to initialisation or
programming, for example HERMES_CMD_INIT.Replicate hermes_docmd_wait for commands which clear the MAGIC number
from SWSUPPORT0. This version accepts two extra arguments which are
passed straight to the firmware.Functionality copied out of hermes_init.
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
hermes_issue_cmd now takes two more parameters.
Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Report channel, beacon interval and capabilities.
Use WEXT defines instead of magic numbers.
State quality stats in dB.
Also a few changes to keep line length less than 80.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Pass the ESSID to the card.
This allows 'iwlist eth1 scan essid ' to work, and will help
with routers setup not to broadcast the ESSID.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
This patch adds a direct probe request as first step in the association
flow if data we have is not up to date. Motivation of this step is to make
sure that the bss information we have is correct, since last scan could
have been done a while ago, and beacons do not fully answer this need as
there are potential differences between them and probe responses (e.g.
WMM parameter element)Signed-off-by: Ron Rindjunsky
Signed-off-by: Tomas Winkler
Signed-off-by: John W. Linville -
It's been a long time, but fullmac prism54 driver is still around...
I think we should rename every prism54* in order to avoid some
confusion about "what is actually what" in the future ;-).Thanks-to: Maxi
Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville -
This patch fixes noticed problem in noisy environments of 50+ APs
that scan fails to find the requested AP on first try, which
leads to connection refusal. second scan has empirically proven to fix
this problem in almost all cases.Signed-off-by: Ron Rindjunsky
Signed-off-by: Esti Kummer
Signed-off-by: Tomas Winkler
Signed-off-by: John W. Linville -
Add a module parameter to rt61 and rt73 to disable
HW crypto. The option should only be checked when
determining if the SUPPORT_HW_CRYPTO flag should
be set or not.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
We can optimize lna calculation in IRQ context by
calculating most of the value during the config() callback
when most of the value is actually influenced.This will be required later by rt2800pci and rt2800usb as
well, since they need the lna_gain value during config().Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
This patch move add STA_MLME to station mlme state defines.
Signed-off-by: Tomas Winkler
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
set the short preamble flag in ieee80211_rx_status for frames received with a
short preamble.drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD
Signed-off-by: Bruno Randolf
Signed-off-by: John W. Linville -
Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
Channel information which is read from EEPROM should
be read into an array containing per-channel information.
This removes the requirement of multiple arrays and makes
the channel handling a bit cleaner and easier to expand.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
rt73usb supports hardware encryption.
rt73usb supports up to 4 shared keys and up to 64 pairwise keys.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
rt61pci supports hardware encryption.
rt61pci supports up to 4 shared keys and up to 64 pairwise keys.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
Various rt2x00 devices support hardware encryption.
Most of them require the IV/EIV to be generated by mac80211,
but require it to be provided seperately instead of within
the frame itself. This means that rt2x00lib should extract
the data from the frame and place it in the frame descriptor.
During RX the IV/EIV is provided in the descriptor by the
hardware which means that it should be inserted into the
frame by rt2x00lib.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville -
This patch moves filtering statement from ieee80211_rx_bss_info
which is called for both beacon and probe to ieee80211_rx_mgmt_probe_resp
and save few cycles in beacon parsing.Signed-off-by: Tomas Winkler
Signed-off-by: John W. Linville