Tomas Winkler [Thu, 29 May 2008 08:35:00 +0000 (16:35 +0800)]
iwlwifi: move txq_ctx_stop into iwl-tx.c
This patch moves txq_ctx_stop into iwl-tx.c iwlcore module.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:59 +0000 (16:34 +0800)]
iwlwifi: refactor stop master function
This patch refactors stop master function for 4965 and 5000.
Currently it duplicates the function.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:58 +0000 (16:34 +0800)]
iwlwifi: implement apm stop function
This patch adds apm stop function for 4965 and 5000.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:57 +0000 (16:34 +0800)]
iwlwifi: implement apm reset flow
This patch implements apm reset flow for 4965 and 5000.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:56 +0000 (16:34 +0800)]
iwlwifi: setup correctly L1 L0S pi link values
This patch setups L1 L0S pci link values.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:55 +0000 (16:34 +0800)]
iwlwifi: remove 4965 from alive_resp structures
This patch removes 4965 from alive_resp and init_alivie_resp.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:54 +0000 (16:34 +0800)]
iwlwifi: clean up alive_start routine
This patch cleans up alive_start routine. It removes 4965 from the common
code and moves the run time calibration reset into a common code.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:53 +0000 (16:34 +0800)]
iwlwifi: remove notif_missed_beacons variable
This patch removes notif_missed_beacons from priv since it was never
used. Missed beacons notification will have only meaning if roaming
will be implemented in mac80211.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:52 +0000 (16:34 +0800)]
iwlwifi: remove unused variable form __iwl4965_down
This patch removes unused variable from __iwl4965_down.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 29 May 2008 08:34:51 +0000 (16:34 +0800)]
iwlwifi: mark 4965 ucode types
This patch marks 4965 ucode types.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Zhu Yi [Thu, 29 May 2008 08:34:50 +0000 (16:34 +0800)]
iwlwifi: create drivers debugfs dir under wiphy->debugfsdir
This patch creates driver's debugfs tree under wiphy->debugfsdir.
This patch fixes collision in debugfs if two or more NICs are plugged.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 29 May 2008 08:34:49 +0000 (16:34 +0800)]
iwlwifi: increase max payload of iwl_cmd
This patch increases iwl_cmd payload maximum size from 360 to 640
to fit some of iwl5000 commands as well.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gregory Greenman [Thu, 29 May 2008 08:34:48 +0000 (16:34 +0800)]
iwlwifi: use uCode error and event tables pointer w.r.t loaded image
This patch updates the usage of the pointers to error and log tables
received in alive response w.r.t. the current uCode image.
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 29 May 2008 08:34:47 +0000 (16:34 +0800)]
iwlwifi: add RTC data address for iwl5000
This patch fills the valid_rtc_data_addr handler in iwl5000.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ester Kummer [Thu, 29 May 2008 08:34:46 +0000 (16:34 +0800)]
iwlwifi: move iwl_dump_nic_error_log to iwlcore module
This patch moves the function iwl_dump_nic_error_log to iwlcore.
Remove sysfs entry it cannot be really triggered.
Signed-off-by: Ester Kummer <ester.kummer@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Tue, 27 May 2008 17:00:11 +0000 (20:00 +0300)]
mac80211: sends HT IE to user level through wext
This patch adds HT IE in the scan list that is returned to user level
through wext. This is useful to let wpa_supplicant if a bss supports 11n or
not: WEP and TKIP are not supported in 11n.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Mon, 26 May 2008 10:50:23 +0000 (12:50 +0200)]
libertas: fix compact flash interrupt handling
The old code misbehaved because it polled card status and always called the
"tx over" code-path.
This also fixes a hard lockup by not allowing and card interrupts while
transferring a TX frame or a command into the card.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Sat, 24 May 2008 09:59:49 +0000 (10:59 +0100)]
libertas: rate adaptation configuration via iwconfig.
Implemented rate adaptation support via 'iwconfig rate' API. It is now
possible to specify a bit-rate value and append 'auto'. That will configure
rate adaptation to use all bit-rates equal or lower than than selected value.
Made lbs_cmd_802_11_rate_adapt_rateset a direct command.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Sat, 24 May 2008 18:07:55 +0000 (20:07 +0200)]
b43legacy: fix build errors when DMA or PIO are not selected
Currently, b43legacy is broken due to
commit
fbad4598ca826b994d0fd4ce3deebc9cd1960b31
Author: Johannes Berg <johannes@sipsolutions.net>
Date: Thu May 15 12:55:29 2008 +0200
mac80211: move TX info into skb->cb
when compiled with only PIO or only DMA because I forgot to update two
stubs. This patch fixes it.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Tue, 27 May 2008 14:50:52 +0000 (17:50 +0300)]
mac80211: fix deadlock in sta->lock
This patch fixes a deadlock of sta->lock use, occurring while changing
tx aggregation states, as dev_queue_xmit end up in new function
test_and_clear_sta_flags that uses that lock thus leading to deadlock
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Tue, 27 May 2008 14:50:51 +0000 (17:50 +0300)]
mac80211: fix ieee80211_get_buffered_bc
fix bss not initialized in ieee80211_get_buffered_bc
and unbalanced locking
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Scott Ashcroft [Tue, 27 May 2008 08:15:02 +0000 (11:15 +0300)]
rndis_wlan: use ARRAY_SIZE instead of sizeof when adding 11g rates
While figuring out the TKIP problem I found a bug in the code which adds the 11g
rates. It's using sizeof instead of ARRAY_SIZE to terminate the for loop. This makes
it fall off the end of the rates array start into the frequency array instead. Running
"iwlist rate" should show the problem as there will always be 32 rates with the last
few being bogus.
The following patch will fix it.
Signed-off-by: Scott Ashcroft <scott.ashcroft@talk21.com>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Mon, 26 May 2008 14:43:39 +0000 (16:43 +0200)]
ath5k: use IEEE80211_SKB_CB
ath5k still uses the "(void*) skb->cb" direct cast, use IEEE80211_SKB_CB
instead.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Fri, 23 May 2008 14:04:13 +0000 (16:04 +0200)]
libertas: before sleeping, check for a command result
If we don't check for a command response early, but rather sleep,
then we might sleep despite an already-received command response.
This will lead to a command-timeout.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Fri, 23 May 2008 10:16:51 +0000 (12:16 +0200)]
libertas: use lbs_pr_XX instead of printk
... because lbs_pr_XXX prefixes all messages with "libertas: "
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Fri, 23 May 2008 08:18:26 +0000 (10:18 +0200)]
libertas: speeds up downloading of CF firmware
Keep the timeout the same (1000*500 == 100000 * 5), but take shorter
naps. Makes downloading the firmware slightly faster.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Fri, 23 May 2008 08:07:56 +0000 (10:07 +0200)]
libertas: don't spin_unlock_irq() twice
priv->driver_lock has already been unlocked some lines above. This patch
fixes the sparse warning:
drivers/net/wireless/libertas/main.c:792:6: warning: context problem in 'lbs_thread': '_spin_unlock_irq' expected different context
drivers/net/wireless/libertas/main.c:792:6: context 'lock': wanted >= 1, got 0
Signed-of-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 29 May 2008 08:38:53 +0000 (10:38 +0200)]
mac80211: clean up skb reallocation code
This cleans up the skb reallocation code to avoid problems with
skb->truesize, not resize an skb twice for a single output path
because we didn't expand it enough during the first copy and also
removes the code to further expand it during crypto operations
which will no longer be necessary.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Walker [Thu, 22 May 2008 07:00:03 +0000 (00:00 -0700)]
ps3: gelic: updown_lock semaphore to mutex
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Acked-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Walker [Thu, 22 May 2008 07:00:02 +0000 (00:00 -0700)]
ps3: gelic: assoc_stat_lock semaphore to mutex
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Acked-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Walker [Thu, 22 May 2008 07:00:01 +0000 (00:00 -0700)]
ps3: gelic: scan_lock semaphore to mutex
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Acked-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Woodhouse [Tue, 20 May 2008 15:48:52 +0000 (16:48 +0100)]
libertas: provide reset_card() callback on OLPC
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 20 May 2008 10:10:49 +0000 (12:10 +0200)]
b43: enable mesh
This patch enables b43 to do mesh networking, tested against my zd1211rw
dongle.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Wed, 21 May 2008 15:33:42 +0000 (17:33 +0200)]
mac80211: remove channel use statistics
The useless channel use statistics are quite a lot of code, currently
use integer divisions in the packet fast path, are rather inaccurate
since they do not account for retries and finally nobody even cares.
Hence, remove them completely.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Mon, 19 May 2008 22:24:36 +0000 (00:24 +0200)]
b43: Add firmware markers support
This adds support for firmware markers.
With firmware markers it's easily possible to check whether the
firmware runs some codepath or not. The driver will throw a message
when the firmware executes a MARKER(x).
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Mon, 19 May 2008 21:51:37 +0000 (23:51 +0200)]
b43: Add panic reason code that doesn't trigger restart
Add a firmware panic reason code that doesn't trigger a restart.
This is useful for firmware debugging and avoiding endless
restart loops. We can use FWPANIC_DIE to halt the firmware at a
well defined point.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Sat, 17 May 2008 21:43:57 +0000 (23:43 +0200)]
b43: Allow running without PCM firmware
This patch adds code to allow running the device without PCM firmware loaded.
Without PCM firmware we don't have hardware accelerated crypto on
devices with a core rev <= 10.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Sat, 17 May 2008 20:44:35 +0000 (22:44 +0200)]
b43: Add hooks for firmware debugging
This patch adds some hooks for firmware debugging.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Fri, 16 May 2008 22:57:14 +0000 (00:57 +0200)]
mac80211: use multi-queue master netdevice
This patch updates mac80211 and drivers to be multi-queue aware and
use that instead of the internal queue mapping. Also does a number
of cleanups in various pieces of the code that fall out and reduces
internal mac80211 state size.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Fri, 16 May 2008 22:57:13 +0000 (00:57 +0200)]
mac80211: dont allow fragmentation and requeuing on A-MPDU queues
There really is no reason for a driver to reject a frame on
an A-MPDU queue when it can stop that queue for any period
of time and is given frames one by one. Hence, disallow it
with a big warning and reduce mac80211-internal state.
Also add a warning when we try to fragment a frame destined
for an A-MPDU queue and drop it, the actual bug needs to be
fixed elsewhere but I'm not exactly sure how to yet.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry.Finger@lwfinger.net [Thu, 15 May 2008 19:07:36 +0000 (14:07 -0500)]
b43: Fix typo in firmware file name for 802.11 cores with rev 13
When the patch for the BCM4311 rev 2 was prepared, I misread the specs
and coded the wrong file name for the initvals firmware.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Atsushi Nemoto [Fri, 16 May 2008 08:27:05 +0000 (17:27 +0900)]
zd1211rw: Use DMA-aware buffer for usb transfer
The zd1211rw driver uses unaligned stack buffer for USB control
message. But it might cause stack corruption on non-coherent
platform, such as MIPS. Use DMA-aware buffers for USB transfer.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 May 2008 10:55:29 +0000 (12:55 +0200)]
mac80211: move TX info into skb->cb
This patch converts mac80211 and all drivers to have transmit
information and status in skb->cb rather than allocating extra
memory for it and copying all the data around. To make it fit,
a union is used where only data that is necessary for all steps
is kept outside of the union.
A number of fixes were done by Ivo, as well as the rt2x00 part
of this patch.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 May 2008 10:55:28 +0000 (12:55 +0200)]
mac80211: reorder some transmit handlers
The next patch will require that transmit handlers that are after
fragmentation are aware of the fact that the control info is also
fragmented. To make that easier, this patch moves a number of
transmit handlers before fragmentation.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 May 2008 10:55:27 +0000 (12:55 +0200)]
mac80211: use rate index in TX control
This patch modifies struct ieee80211_tx_control to give band
info and the rate index (instead of rate pointers) to drivers.
This mostly serves to reduce the TX control structure size to
make it fit into skb->cb so that the fragmentation code can
put it there and we can think about passing it to drivers that
way in the future.
The rt2x00 driver update was done by Ivo, thanks.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 May 2008 10:55:26 +0000 (12:55 +0200)]
mac80211: let drivers wake but not start queues
Having drivers start queues is just confusing, their ->start()
callback can block and do whatever is necessary, so let mac80211
start queues and have drivers wake queues when necessary (to get
packets flowing again right away.)
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 May 2008 10:55:25 +0000 (12:55 +0200)]
mac80211: fix bugs in queue handling functions
Commit
55c308c1315bc7267dbb88011c208fd743cdce31
("mac80211: QoS related cleanups") introduced another bug,
the queue handling functions that operate on all queues now
only operated on the first queues, not the A-MPDU queues as
expected. This patch fixes this.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ester Kummer [Thu, 15 May 2008 05:54:18 +0000 (13:54 +0800)]
iwlwifi: trigger event log from debugfs
This patch adds a trigger for event log printing to debugfs.
It removes the triger from sysfs.
Signed-off-by: Ester Kummer <ester.kummer@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:17 +0000 (13:54 +0800)]
iwlwifi: refactor pci prob flow
This patch refactores pci prob flow. It moves mac80211 registration
to the end, otherwise there is a race between error path in pci_probe
and mac_start.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:16 +0000 (13:54 +0800)]
iwlwifi: add debugfs to disable/enable run time calibration
This patch adds functionality to debugfs to enable or disable chain
noise or sensitivity calibrations.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:15 +0000 (13:54 +0800)]
iwlwifi: remove 4965 remainings in iwl-eeprom.c file
The patch cleans up 4965 remaings from iwl-eeprom.c file.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:54:14 +0000 (13:54 +0800)]
iwlwifi: iwl5000 WiFi/WiMax coexistence
This patch adds WiFi/WiMax coexistence to iwl5000.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:54:13 +0000 (13:54 +0800)]
iwlwifi: add ucode init flow handling for iwl5000
This patch adds all the handlers and functions needed for ucode
initialization flow.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:54:12 +0000 (13:54 +0800)]
iwlwifi: add ucode loaders for iwl5000
This patch adds ucode initialization handler and functions to load
ucode for iwl5000 NIC.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:54:11 +0000 (13:54 +0800)]
iwlwifi: add rx_handlers stub for iwl5000
This patch adds rx_handler_setup stub to iwl5000.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:54:10 +0000 (13:54 +0800)]
iwlwifi: rename and move Tx queue activation/deactivation
This patch moves iwl4965_txq_ctx_activate and iwl4965_txq_ctx_deactivate
to iwl-dev.h and removes 4965 prefix from their names.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 May 2008 05:54:09 +0000 (13:54 +0800)]
iwlwifi: clean up and bug fix for security
This patch cleans up code in security.
1) uses the new pointer to ieee80211_key_conf passed with the tx_control.
2) resolves bug reported by Mirco Tischler (sends ADD_STA in ASYNC mode)
3) resolves bug reported by Volker Braun regarding dynamic WEP
4) drops a WEP packet which has been garbaged by firmware. This can
happen upon rekeying.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 May 2008 05:54:08 +0000 (13:54 +0800)]
iwlwifi: don't switch to SGI if not supported by AP
This patch fixes SGI support. RS didn't look at the capabilities of the AP
before switching to SGI, this should lead to a stall in the traffic with an
AP that doesn't support SGI.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Guy Cohen <guy.cohen@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:07 +0000 (13:54 +0800)]
iwlwifi: move TX code into iwl-tx.c
This patch moves the sending part of the TX code into iwl-tx.c
including sending host commands.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:06 +0000 (13:54 +0800)]
iwlwifi: refactor ieee80211_get_qos_ctrl
This patch refactors ieee80211_get_qos_ctrl function and its usage
in iwlwifi drivers. Function is moved as inline into iwl-helpers.h.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:05 +0000 (13:54 +0800)]
iwlwifi: remove 4956 form iwl4965_tx_cmd
This patch renames iwl4965_tx_cmd to iwl_tx_cmd and cleans
collateral code.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:04 +0000 (13:54 +0800)]
iwlwifi: move more station managment into iwl-sta.c
This patch moves station management functions into iwl-sta.c (iwlcore).
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:03 +0000 (13:54 +0800)]
iwlwifi: move iwl_bcast_addr to iwlcore
This patch renames iwl4965_broadcast_addr to iwl_bcast_addr
and moves it to iwlcore.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:02 +0000 (13:54 +0800)]
iwlwifi: remove 4965 from iwl4965_rate_info
This patch removes 4965 from iwl4965_rate_info structure and
associated variables.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:01 +0000 (13:54 +0800)]
iwlwifi: remove 4965 prefix from iwl4965_frame
This patch removes 4965 from iwl4965_frame struct and handling functions.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:54:00 +0000 (13:54 +0800)]
iwlwifi: remove 4965 from iwl4965_tx_queue_update_write_ptr
This patch renames iwl4965_tx_queue_update_write_ptr to
iwl_txq_update_write_ptr. This is a preparation for moving to iwl-tx.c.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gregory Greenman [Thu, 15 May 2008 05:53:59 +0000 (13:53 +0800)]
iwlwifi: get_hw_cmd_size
This patch introduces a new handler get_hw_cmd_size in hcmd_utils,
which should adjust the size of the command sent to the microcode
according to the current nic.
It also changes the RXON flow to make usage of this new handler.
The patch also adds iwl_rxon_cmd structure which is supperset for
5000 HW and 4965.
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:53:58 +0000 (13:53 +0800)]
iwlwifi: rename iwl4965_tx_info to iwl_tx_info
This patch renames iwl4965_tx_info to iwl_tx_info.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tomas Winkler [Thu, 15 May 2008 05:53:57 +0000 (13:53 +0800)]
iwlwifi: rename iwl4965_queue to iwl_queue
This patch renames iwl4965_queue to iwl_queue.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:53:56 +0000 (13:53 +0800)]
iwlwifi: filling Tx MCS set
This patch fills the needed data about HW capabilities in matters of
possible HT Tx MCS.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:53:55 +0000 (13:53 +0800)]
mac80211: separate Tx and Rx MCS when configuring HT
This patch follows the 11n spec in separation between Tx and Rx MCS
capabilities. Up until now, when configuring the HT possible set of Tx
MCS only Rx MCS were considered, assuming they are the same as the Tx MCS.
This patch fixed this by looking at low level driver Tx capabilities.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:53:54 +0000 (13:53 +0800)]
iwlwifi: remove iwl4965_nic_start function
This patch moves the contant of iwl4965_nic_start to the only place it is
being used.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 15 May 2008 05:53:53 +0000 (13:53 +0800)]
iwlwifi: changing irrelevant comment
This patch changes an old eeprom comment in probe flow.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 14 May 2008 23:26:20 +0000 (16:26 -0700)]
mac80211: tkip.c use struct tkip_ctx in phase 2 key mixing
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Harvey Harrison [Wed, 14 May 2008 23:26:19 +0000 (16:26 -0700)]
mac80211: tkip.c use struct tkip_ctx in phase 1 key mixing
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Harvey Harrison [Wed, 14 May 2008 23:26:19 +0000 (16:26 -0700)]
mac80211: add a struct to hold tkip context
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Harvey Harrison [Wed, 14 May 2008 23:26:18 +0000 (16:26 -0700)]
mac80211: add const, remove unused function, make one function static
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Harvey Harrison [Wed, 14 May 2008 23:26:17 +0000 (16:26 -0700)]
mac80211: introduce struct michael_mic_ctx and static helpers
Replace the existing macro with a static function, significantly shrinks the
size of the produced object file.
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Harvey Harrison [Wed, 14 May 2008 23:26:16 +0000 (16:26 -0700)]
mac80211: michael.c use kernel-provided infrastructure
Replace private implementation of bit rotation and unaligned access helpers
with kernel-provided implementation.
Fold xswap helper in its one usage in the michael_block macro.
Signed-off-by: Harvey Harrison <harvey.harrison@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>
Holger Schurig [Wed, 14 May 2008 14:30:28 +0000 (16:30 +0200)]
libertas: reduce command retry time
[PATCH, take 2] libertas: reduce command retry time
In the normal case, an unsuccessful command would be retried for 10*5 seconds,
or 10*10 seconds in the worst case. This patch reduces this to 3*3 seconds,
or 3*10 seconds in the worst case.
I also reduced the time it takes to start a new command downloaded.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:57:11 +0000 (19:57 +0400)]
mac80211: Consolidate hash kfree-ing in mesh.c.
There are already two places, that kfree the mesh_table and
its buckets.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:55:59 +0000 (19:55 +0400)]
mac80211: Merge error paths in mesh_table_grow().
This is the first (of two) clean ups after the fixes above.
The err variable is not even required after this cleaning.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:54:04 +0000 (19:54 +0400)]
mac80211: Do not report false error from mesh_path_add.
In case the hash grow failed, it is not fair to return error -
the new node _was_ _actually_ added in this case.
Besides, after my previous patch, this grow is more likely
to fail on large hashes.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:51:51 +0000 (19:51 +0400)]
mac80211: Fix sleeping allocation under lock in mesh_path_node_copy.
The mesh_path_node_copy() can be called like this:
mesh_path_add
`- write_lock(&pathtbl_resize_lock); /* ! */
`- mesh_table_grow
`- ->copy_node
`- mesh_path_node_copy
thus, the GFP_KERNEL is not suitable here.
The acceptable fix, I suppose, is make this allocation GPF_ATOMIC -
the mpath_node being allocated is 4 pointers, i.e. this allocation
is small enough to survive even under a moderate memory pressure.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:48:14 +0000 (19:48 +0400)]
mac80211: Report allocation failure from mesh_path_node_copy.
Now - return the -ENOMEM in case kmalloc fails.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:47:01 +0000 (19:47 +0400)]
mac80211: Prepare mesh_table_grow to failing copy_node callback.
The mesh_path_node_copy() performs kmalloc() and thus - may fail
(well, it does not now, but I'm fixing this right now). Its caller -
the mesh_table_grow() - isn't prepared for such a trick yet.
This preparation is just flush the new hash and make copy_node()
return an int value.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Wed, 7 May 2008 15:44:20 +0000 (19:44 +0400)]
mac80211: Fix one more call to synchronize_rcu in atomic context.
(This set applies OK without the previous one of 4 patches,
but with some fuzz in the 7th one)
The mesh_path_node_free() does so under hashwlock.
But, this one is called
1. from mesh_path_add() after an old hash is hidden and
synchronize_rcu() is calld
2. mesh_pathtbl_unregister(), when the module is being
unloaded and no devices exist to mess with this hash.
So, it seems to me, that simply removing the call is OK.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Emelyanov [Tue, 6 May 2008 14:53:43 +0000 (18:53 +0400)]
mac80211: Brush up error paths in mesh_path_add.
There are already tree paths, that do incremental rollbacks, so
merge them together, rename labels and format the code to look a
bit nicer.
(I do not mind dropping/delaying this patch however).
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Tue, 20 May 2008 22:18:49 +0000 (15:18 -0700)]
libertas: sysfs interface for accessing default mesh channel
This will create the following entry:
/sys/class/net/mshX
-- boot_options
| |-- ...
| `-- channel
...
... which I overlooked on my previous patch.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Woodhouse [Tue, 20 May 2008 15:43:31 +0000 (16:43 +0100)]
libertas: Add reset_card() callback to hardware driver
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Sun, 18 May 2008 04:01:24 +0000 (21:01 -0700)]
libertas: sysfs interface for accessing non-volatile configuration
This will create the following sysfs directories:
/sys/class/net/mshX
...
|-- boot_options
| |-- bootflag
| `-- boottime
...
|-- mesh_ie
| |-- capability
| |-- mesh_id
| |-- metric_id
| `-- protocol_id
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Sat, 17 May 2008 07:55:10 +0000 (00:55 -0700)]
libertas: Extend MESH_CONFIG command to access non-volatile configuration
This patch is based on a patch from Shailendra Govardhan and Brian Cavagnolo.
It extends the MESH_CONFIG command to configure non-volatile parameters on
libertas devices that support them (e.g. OLPC Active Antenna).
This patch only implements the driver/firmware interface.
See http://dev.laptop.org/ticket/6823 for minimal testing results and known
issues.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Woodhouse [Tue, 20 May 2008 12:32:45 +0000 (13:32 +0100)]
libertas: fix multicast filtering on eth and msh interfaces
We weren't properly handling multicast on the mesh interface. Fix that,
which involves setting up the hardware to use the union of dev->mc_list
for both eth%d and msh%d devices.
This means we can't do it directly from ->set_multicast_list() because
we'd need to lock the other device to read its list, and we can't do
that because it might deadlock. So punt the actual work to keventd.
Also, invoke the same when taking an interface down; for some reason the
core calls ->set_multicast_list while IFF_UP is still set in dev->flags
when we're taking it down, so its addresses don't get removed then.
We also convert MAC_MULTICAST_ADR to a direct command while we're at it,
removing one more entry from the big switch statement in the deprecated
lbs_prepare_and_send_command() function.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Woodhouse [Tue, 20 May 2008 10:47:16 +0000 (11:47 +0100)]
libertas: Increase priority of 'unknown command' warnings
Using the deprecated lbs_prepare_and_send_command() function for a
command which it doesn't understand is an error; complain loudly about
it even when we're not debugging.
The mesh stats bug, where we converted MESH_ACCESS to a direct command
but accidentally missed one user which was still trying to do it through
lbs_prepare_and_send_command(), would have been caught a lot quicker if
we'd done this sooner. Such bugs aren't entirely unlikely in future too,
as we convert more code to stop using this function.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 10 May 2008 11:45:50 +0000 (13:45 +0200)]
rt2x00: Release rt2x00 2.1.6
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 10 May 2008 11:45:58 +0000 (13:45 +0200)]
rt2x00: Remove extra +
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 10 May 2008 11:46:03 +0000 (13:46 +0200)]
rt2x00: Merge RX and TX entry private data
With the pending removal of the tx_control structure
we can merge the RX and TX entry private data structure
in advance. This will temporarily increase the required
memory for the queue, but that overhead will only be limited.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 10 May 2008 11:46:08 +0000 (13:46 +0200)]
rt2x00: Remove redundant flags/dev_flags initializations
the rxdesc structure is properly memsetted before passed to
the driver. This means we don't have to reinitialize the flags
and dev_flags fields in the drivers again.
This will prevent problems when the rxdone handler is adding
flags in a earlier status and will make the code look nicer
when we are adding more read attributes in the rxdone handler
in the driver.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 10 May 2008 11:46:13 +0000 (13:46 +0200)]
rt2x00: Split rt2x00lib_write_tx_desc()
Split rt2x00lib_write_tx_desc() up into a TX descriptor initializor
and TX descriptor writer.
This split is required to properly allow mac80211 to move its
tx_control structure into the skb->cb array.
The rt2x00queue_create_tx_descriptor() function will read all tx control
information and convert it into a rt2x00 TX descriptor information structure.
After that function is complete, we have all information we needed from the
tx control structure and are free to start writing into the skb->cb array
for our own purposes.
rt2x00queue_write_tx_descriptor() will be in charge of really sending
the TX descriptor to the hardware and kicking the TX queue.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Sat, 10 May 2008 11:44:14 +0000 (13:44 +0200)]
rt2x00: Only initialize the minimum needed fields of PCI TX descriptors.
In preparation of replacing the statically allocated data DMA buffers with DMA-mapped
skb's we need to change the TXD handling of the PCI drivers, by moving the programming
of the buffer address fields to the actual TXD writing at TX time, instead of at start-up
time.
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>