]> Pileus Git - ~andy/linux/log
~andy/linux
14 years agonet: Introduce unregister_netdevice_queue()
Eric Dumazet [Tue, 27 Oct 2009 07:03:04 +0000 (07:03 +0000)]
net: Introduce unregister_netdevice_queue()

This patchs adds an unreg_list anchor to struct net_device, and
introduces an unregister_netdevice_queue() function, able to queue
a net_device to a list instead of immediately unregister it.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: cleanup "todo" code found in igb_ethtool.c
Alexander Duyck [Tue, 27 Oct 2009 15:55:41 +0000 (15:55 +0000)]
igb: cleanup "todo" code found in igb_ethtool.c

This patch moves some defines into the e1000_regs.h file since this is the
correct place for register defines and not inside of igb_ethtool.c

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: add single vector msi-x testing to interrupt test
Alexander Duyck [Tue, 27 Oct 2009 15:55:22 +0000 (15:55 +0000)]
igb: add single vector msi-x testing to interrupt test

This change adds testing of the first msix vector to the interrupt testing.
This should help with determining the cause of interrupt issues when they are
encountered.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: make ethtool use core xmit map and free functionality
Alexander Duyck [Tue, 27 Oct 2009 15:55:02 +0000 (15:55 +0000)]
igb: make ethtool use core xmit map and free functionality

This change adds a clean_rx/tx_irq type function call to the ethtool loopback
testing which allows us to test the core transmit and receive functionality in
the driver.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: make tx ring map and free functionality non-static
Alexander Duyck [Tue, 27 Oct 2009 15:54:43 +0000 (15:54 +0000)]
igb: make tx ring map and free functionality non-static

This change makes a minor change to the xmit_frame_ring_adv funcition in that
it moves 2 checks from it into the xmit_frame_adv since the checks were not
ring specific.  In addition it exports the xmit_frame_ring_adv and the
unmap_and_free_tx_resource calls so that they can be used by other code such
as the ethtool loopback testing calls.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: re-use ring configuration code in ethtool testing
Alexander Duyck [Tue, 27 Oct 2009 15:54:23 +0000 (15:54 +0000)]
igb: re-use ring configuration code in ethtool testing

Since all of the ring code is now specific to the ring instead of the adapter
struct it is possible to cut a large section of code out of the ethtool
testing configuraiton since we can just use the existing functions to
configure the rings.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: setup vlan tag replication stripping in igb_vmm_control
Alexander Duyck [Tue, 27 Oct 2009 15:54:04 +0000 (15:54 +0000)]
igb: setup vlan tag replication stripping in igb_vmm_control

This update adds vlan tag stripping for inter-vf communications to the
igb_vmm_control configuration function.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: delay VF reset notification until after interrupts are enabed
Alexander Duyck [Tue, 27 Oct 2009 15:53:45 +0000 (15:53 +0000)]
igb: delay VF reset notification until after interrupts are enabed

This update delays the VF reset notification until after interrupts are
enabled.  Otherwise there is a chance of having the VF try to reset itself too
soon and being ignored by the PF as a result.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move the multiple receive queue configuration into seperate function
Alexander Duyck [Tue, 27 Oct 2009 15:53:25 +0000 (15:53 +0000)]
igb: move the multiple receive queue configuration into seperate function

This patch moves the multiple receive queue configuration into a seperate
function from igb_configure_rx.  We can essentially do the configuration for
the multiple receive queues just prior to enabling the RX and this will allow
us to seperate the queue enablement from the receive queue layout
configuration.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: place a pointer to the netdev struct in the ring itself
Alexander Duyck [Tue, 27 Oct 2009 15:53:06 +0000 (15:53 +0000)]
igb: place a pointer to the netdev struct in the ring itself

This change adds a pointer to the netdev to the ring itself.  The idea being
at some point in the future it will be possible to support multiple netdevs
from a single adapter struct.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: add a flags value to the ring
Alexander Duyck [Tue, 27 Oct 2009 15:52:46 +0000 (15:52 +0000)]
igb: add a flags value to the ring

This patch adds a flags value to the ring that cleans up some of the last
remaining items from the ring in order to help seperate it from the adapter
struct.  By implementing these flags it becomes possible for different rings
to support different functions such as rx checksumming.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move alloc_failed and csum_err stats into per rx-ring stat
Alexander Duyck [Tue, 27 Oct 2009 15:52:27 +0000 (15:52 +0000)]
igb: move alloc_failed and csum_err stats into per rx-ring stat

The allocation failed and checksum error stats are currently kept as a
global stat.  If we end up allocating the queues to multiple netdevs then
the global counter doesn't make much sense.  For this reason I felt it
necessary to move the alloc_rx_buff_failed stat into the rx_stats
portion of the rx_ring.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move rx_buffer_len into the ring structure
Alexander Duyck [Tue, 27 Oct 2009 15:52:07 +0000 (15:52 +0000)]
igb: move rx_buffer_len into the ring structure

This patch moves the rx_buffer_len value into the ring structure.  This allows
greater flexibility and the option of doing things such as supporting packet
split only on some queues, or enabling virtualization.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: add pci device pointer to ring structure
Alexander Duyck [Tue, 27 Oct 2009 15:51:47 +0000 (15:51 +0000)]
igb: add pci device pointer to ring structure

This patch adds a pci device pointer to the ring structure.  The main use of
this pointer is for memory mapping/unmapping of the rings.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: change the head and tail offsets into pointers
Alexander Duyck [Tue, 27 Oct 2009 15:51:27 +0000 (15:51 +0000)]
igb: change the head and tail offsets into pointers

Since we are writting to the head/tail pointers frequently we might as well
save ourselves some processing time by converting the head and tail offsets
directly to pointers.  This will shave a few cycles off the rx/tx path and
allows us to move one step closer to the rings being a bit more independant of
each other.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move SRRCTL register configuration into ring specific config
Alexander Duyck [Tue, 27 Oct 2009 15:51:07 +0000 (15:51 +0000)]
igb: move SRRCTL register configuration into ring specific config

The SRRCTL register exists per ring.  Instead of configuring all of them in
the RCTL configuration which is meant to be global it makes more sense to move
this out into the ring specific configuration.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: remove rx_ps_hdr_len
Alexander Duyck [Tue, 27 Oct 2009 15:50:48 +0000 (15:50 +0000)]
igb: remove rx_ps_hdr_len

This patch removes the rx_ps_hdr_len which isn't really needed since we can
now use rx_buffer_len less than 1K to indicate that we are in a packet split
mode.  We also don't need it since we always use a half page for the data
buffers when receiving so we always know the size to map/unmap.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move the tx and rx ring specific config into seperate functions
Alexander Duyck [Tue, 27 Oct 2009 15:50:29 +0000 (15:50 +0000)]
igb: move the tx and rx ring specific config into seperate functions

This change makes the tx and rx config a bit cleaner by breaking out the ring
specific configuration from the generic rx and tx configuration.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: increase minimum rx buffer size to 1K
Alexander Duyck [Tue, 27 Oct 2009 15:50:08 +0000 (15:50 +0000)]
igb: increase minimum rx buffer size to 1K

This update increases the minimum rx buffer size to 1K.  The reason for this
change is to support SR-IOV and avoid any conflicts with the rings being able
to set their own MTU sizes.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: remove rx checksum good counter
Alexander Duyck [Tue, 27 Oct 2009 15:49:49 +0000 (15:49 +0000)]
igb: remove rx checksum good counter

Counting packets with a good checksum can cause a significant amount of cache
line bouncing due to the shared counter being written to by all of the queues.
In order to avoid this I am removing the counter since we still have the
checksum failed counter which will tell us if there are any issues.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: add new data structure for handling interrupts and NAPI
Alexander Duyck [Tue, 27 Oct 2009 15:49:27 +0000 (15:49 +0000)]
igb: add new data structure for handling interrupts and NAPI

Add a new igb_q_vector data structure to handle interrupts and NAPI.  This
helps to abstract the rings away from the adapter struct.  In addition it
allows for a bit of consolidation since a tx and rx ring can share a
q_vector.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatl1c: duplicate atl1c_get_tpd
Jie Yang [Wed, 28 Oct 2009 05:31:19 +0000 (22:31 -0700)]
atl1c: duplicate atl1c_get_tpd

remove duplicate atl1c_get_tpd, it may cause hardware to send wrong packets.

Signed-off-by: Jie Yang <jie.yang@atheros.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoath: Updates for regulatory and country codes. master-2009-10-27 master-2009-10-28
Vivek Natarajan [Tue, 27 Oct 2009 06:02:52 +0000 (11:32 +0530)]
ath: Updates for regulatory and country codes.

Add a few new country codes and update the regulatory domain for some
countries.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: minor comments changes for wimax co-exist command
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:36 +0000 (13:42 -0700)]
iwlwifi: minor comments changes for wimax co-exist command

'COEX_PRIORITY_TABLE_CMD' host command will be supported for 5000 series
and up.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: make sure device is reset when unloading driver
Ben Cahill [Fri, 23 Oct 2009 20:42:35 +0000 (13:42 -0700)]
iwlwifi: make sure device is reset when unloading driver

Add unconditional call to apm_ops.stop() to reset device to low power state
when unloading driver.  Some paths have existed to unload driver *without*
resetting device, therefore some errors have persisted through multiple
load/unload cycles, until the whole platform gets rebooted; this is an
attempt to remedy some of those situations.  Sorry, I can't seem to find
a bughost.org bug that specifically has these symptoms, but I had it happen
recently here.

Note that this will *not* fix situations in which the PCI express bus has
crashed (evidenced by register reads showing "0xffffffff"), e.g. bughost.org
1855 and 2096; device is unreachable from driver in those cases.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: update lowest API version support for 6x00 & 6x50 series
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:34 +0000 (13:42 -0700)]
iwlwifi: update lowest API version support for 6x00 & 6x50 series

For 6x00 and 6x50 series devices, APIv4 is the lowest firmware version
driver can support. This is also the lowest API version available to the
public so there is no need for backward compatibility support for the
earlier API versions.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: remove duplicated define
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:33 +0000 (13:42 -0700)]
iwlwifi: remove duplicated define

Duplicated define for listen interval (IWL_CONN_MAX_LISTEN_INTERVAL and
IWL_CONN_LISTEN_INTERVAL), remove IWL_CONN_LISTEN_INTERVAL

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Reported-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: reuse page for notification packets
Zhu Yi [Fri, 23 Oct 2009 20:42:32 +0000 (13:42 -0700)]
iwlwifi: reuse page for notification packets

For notification packets and SKBs that fail to rx correctly, add
them back into the rx_free list so that the pages can be reused
later. This avoids allocating new rx pages unnecessarily.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: remove unused parameters
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:31 +0000 (13:42 -0700)]
iwlwifi: remove unused parameters

parameters "len" is not used in both iwl_tx_queue_free() and
iwl_cmd_queue_free() functions

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: remove duplicate defines
Reinette Chatre [Fri, 23 Oct 2009 20:42:30 +0000 (13:42 -0700)]
iwlwifi: remove duplicate defines

RX_FREE_BUFFERS and RX_LOW_WATERMARK are currently defined in four places.
Based on how files are included we only need the definition in iwl-fh.h

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Reported-by: Frans Pop <elendil@planet.nl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: add channel switch support to 5000 series and up
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:29 +0000 (13:42 -0700)]
iwlwifi: add channel switch support to 5000 series and up

Support "channel switch" request by issue "channel switch" host command
to uCode.

There is no separated "channel switch" indication from mac80211,
when detected "IEEE80211_CONF_CHANGE_CHANNEL" flag in iwl_mac_config(),
if the station is in "associated" state, then assume "channel switch
announcement" IE was received by mac80211.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: issue ct_kill host command based on device config
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:28 +0000 (13:42 -0700)]
iwlwifi: issue ct_kill host command based on device config

Using device configuration structure to decide how to configure
ct_kill host command.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: choose thermal throttle method based on device config
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:27 +0000 (13:42 -0700)]
iwlwifi: choose thermal throttle method based on device config

Using device configuration structure to decide the type of thermal
throttle method for the device.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: increase max tfd payload size
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:26 +0000 (13:42 -0700)]
iwlwifi: increase max tfd payload size

Increase the size of TFD_MAX_PAYLOAD_SIZE (the size of iwl_device_cmd)
to accommodate iwl6000_channel_switch_cmd data structure.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Acked-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: fix use after free bug for paged rx
Zhu Yi [Fri, 23 Oct 2009 20:42:25 +0000 (13:42 -0700)]
iwlwifi: fix use after free bug for paged rx

In the paged rx patch (4854fde2), I introduced a bug that could possibly
touch an already freed page. It is fixed by avoiding the access in this
patch. I've also added some comments so that other people touching the
code won't make the same mistake. In the future, if we cannot avoid
access the page after being handled to the upper layer, we can use
get_page/put_page to handle it. For now, it's just not necessary.

It also fixed a debug message print bug reported by Stanislaw Gruszka
<sgruszka@redhat.com>.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: specify the valid tx/rx chain in device config structure
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:24 +0000 (13:42 -0700)]
iwlwifi: specify the valid tx/rx chain in device config structure

Specify both Tx and Rx chain in device configuration structure instead
of hard code in set_hw_params() for 4965

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: update bt co-exit configuration parameter
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:23 +0000 (13:42 -0700)]
iwlwifi: update bt co-exit configuration parameter

Adding parameter ranges for bt co-exist configuration command.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: separate led function from statistic notification
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:22 +0000 (13:42 -0700)]
iwlwifi: separate led function from statistic notification

Detach led background task from statistic notification routine. if led
blinking is required; the blink rate is based on the traffic condition.
It do not relate to statistics notification. In addition to that, there is
not a requirement for statistics notification has to occur all the time.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: consolidate apm_init() functions
Ben Cahill [Fri, 23 Oct 2009 20:42:21 +0000 (13:42 -0700)]
iwlwifi: consolidate apm_init() functions

Consolidate most iwlXXXX_apm_init() functions into single iwl_apm_init().
Keep iwl3945_apm_init(), but leverage iwl_apm_init() for most functionality.
Update 4965 init sequence to follow most recent factory recommendations.

Add following members to struct iwl_cfg to guide the init sequence:
pll_cfg_val (replaces needs_pll_cfg), set_l0s, use_bsm

Move L0S enable/disable from nic_config() functions to iwl_apm_init().
This satisifies the "FIXME: put here L1A -L0S w/a" notice, and complies
with factory-recommended sequence.

Add debug info message in iwl_apm_init(), and symmetrical message
in iwl_apm_stop().

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: fix gain computation for 5000 series and up
Wey-Yi Guy [Fri, 23 Oct 2009 20:42:20 +0000 (13:42 -0700)]
iwlwifi: fix gain computation for 5000 series and up

In Rx gain balancing (chain noise) computation for 5000 series and up,
the delta gain calculation should use the average noise of default
chain, not "chain 0" which do not exist for all the devices.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: add missing commands to syslog messages
Jay Sternberg [Fri, 23 Oct 2009 20:42:19 +0000 (13:42 -0700)]
iwlwifi: add missing commands to syslog messages

Two commands missing from list of commands such that when debug is
enabled, these commands are shown as UNKNOWN.

Missing commands are TX_ANT_CONFIGURATION_CMD and
TEMPERATURE_NOTIFICATION.

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove some references to IW_MODE_abc
Holger Schurig [Thu, 22 Oct 2009 13:30:59 +0000 (15:30 +0200)]
libertas: remove some references to IW_MODE_abc

... in pursue to quaff the wide-spread references to WEXT constants.

When setting SNMP_MIB_OID_BSS_TYPE, wext.c can directly calculate the value
the firmware wants.

Reading of SNMP_MIB_OID_BSS_TYPE doesn't happen anywhere, so no need to
convert the firmware value into WEXT values anyway.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: sort and categorize entries in decl.h
Holger Schurig [Thu, 22 Oct 2009 13:30:58 +0000 (15:30 +0200)]
libertas: sort and categorize entries in decl.h

This now makes decl.h only contain declarations for functions that don't
have their own *.h file.

No function change.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: move mic failure event to wext.c
Holger Schurig [Thu, 22 Oct 2009 13:30:57 +0000 (15:30 +0200)]
libertas: move mic failure event to wext.c

... because for cfg80211 we'll need a completely different
implementation.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: move SIOCGIWAP calls to wext.c
Holger Schurig [Thu, 22 Oct 2009 13:30:56 +0000 (15:30 +0200)]
libertas: move SIOCGIWAP calls to wext.c

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove "struct cmd_ds_gen"
Holger Schurig [Thu, 22 Oct 2009 13:30:55 +0000 (15:30 +0200)]
libertas: remove "struct cmd_ds_gen"

It was only used as a source for S_DS_GEN, but the size of this struct
is equal to the size of "struct cmd_header".

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove handling for CMD_GET_TSF
Holger Schurig [Thu, 22 Oct 2009 13:30:54 +0000 (15:30 +0200)]
libertas: remove handling for CMD_GET_TSF

... which just resided as an old-style command in cmd/cmdresp, but
was nowhere useed. If we ever need it, we can re-add it as a newstyle
command.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove handling for CMD_802_11_LED_GPIO_CTRL
Holger Schurig [Thu, 22 Oct 2009 13:30:53 +0000 (15:30 +0200)]
libertas: remove handling for CMD_802_11_LED_GPIO_CTRL

... which just resided as an old-style command in cmd/cmdresp, but
was nowhere useed. If we ever need it, we can re-add it as a newstyle
command.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: move lbs_send_iwevcustom_event() to wext.c
Holger Schurig [Thu, 22 Oct 2009 13:30:52 +0000 (15:30 +0200)]
libertas: move lbs_send_iwevcustom_event() to wext.c

... because it's purely a WEXT function.

No functional change.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: move association related commands into assoc.c
Holger Schurig [Thu, 22 Oct 2009 13:30:51 +0000 (15:30 +0200)]
libertas: move association related commands into assoc.c

That's because the new cfg80211 implementation will provide cleaner
implementations.

No functional changes.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: get current channel out of priv->curbssparams
Holger Schurig [Thu, 22 Oct 2009 13:30:50 +0000 (15:30 +0200)]
libertas: get current channel out of priv->curbssparams

... as priv->curbssparams won't exist once libertas+cfg80211 lands.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: sort variables in struct lbs_private
Holger Schurig [Thu, 22 Oct 2009 13:30:49 +0000 (15:30 +0200)]
libertas: sort variables in struct lbs_private

Having the variables in logical groups allows us to easier
#ifdef stuff out.

No functional change.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: move scan/assoc related stuff
Holger Schurig [Thu, 22 Oct 2009 13:30:48 +0000 (15:30 +0200)]
libertas: move scan/assoc related stuff

Another cfg80211-preparation patch: removes some code/definitions from
main.c and dev.h and put's it into assoc.c/.h, scan.c/.h.

No function change.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: change IW_ESSID_MAX_SIZE -> IEEE80211_MAX_SSID_LEN
Holger Schurig [Thu, 22 Oct 2009 13:30:47 +0000 (15:30 +0200)]
libertas: change IW_ESSID_MAX_SIZE -> IEEE80211_MAX_SSID_LEN

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>
14 years agolibertas: remove unused 11d.h as well, priv->countryinfo
Holger Schurig [Thu, 22 Oct 2009 13:30:46 +0000 (15:30 +0200)]
libertas: remove unused 11d.h as well, priv->countryinfo

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>
14 years agolibertas: remove unused 11d code
Holger Schurig [Thu, 22 Oct 2009 13:30:45 +0000 (15:30 +0200)]
libertas: remove unused 11d code

Most of the 11d code was protected with an "if (priv->enable11d)" clause.
But there was no code that anywhere that was able to set this
variable to true. So all 11d code was dead for almost a year and no one
complained. That's enought incentive to remove this code.

Besides removing old cruft, we gain back the 11d capability in a common way
when we merge the cfg80211 functionality.

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>
14 years agozd1211rw: Fix TX status reporting in order to have proper rate control
Benoit PAPILLAULT [Thu, 22 Oct 2009 10:04:52 +0000 (12:04 +0200)]
zd1211rw: Fix TX status reporting in order to have proper rate control

First, we reduce the number of hardware retries to 0 (ie 2 real retries
for each rate). Next, when we report the retries to mac80211, we always
report a retry count of 1 (it seems to be 2 in fact, but using 2 seems
to lead to wrong performance for some reason). We use a state machine to
determine the real fate of a packet based on the 802.11 ACK and what the
Zydas hardware is saying when a real retry occurs. The real retry rates
are encoded in a static array. It has been tested with both zd1211 and
zd1211b hardware. Of course, since the Zydas hardware is not reporting
retries accurately, we are just doing our best in order to get the best
performance (ie higher throughput).

Signed-off-by: Benoit PAPILLAULT <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1271: use ieee80211_rx_ni()
Luciano Coelho [Wed, 21 Oct 2009 11:03:46 +0000 (14:03 +0300)]
wl1271: use ieee80211_rx_ni()

Use the new ieee80211_rx_ni() function instead of ieee80211_rx().  Since we
use a workqueue to handle the RX path, we need to call the new function,
which disables bottom half handling.  This patch fixes the NOHZ:
local_softirq_pending messages.

CC: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomesh: use set_bit() to set MESH_WORK_HOUSEKEEPING.
Rui Paulo [Tue, 20 Oct 2009 20:21:48 +0000 (21:21 +0100)]
mesh: use set_bit() to set MESH_WORK_HOUSEKEEPING.

This makes the mesh housekeeping timer work properly on big endian
systems.

Signed-off-by: Rui Paulo <rpaulo@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoar9170: don't filter BlockACK frames
Christian Lamparter [Sat, 17 Oct 2009 19:56:55 +0000 (21:56 +0200)]
ar9170: don't filter BlockACK frames

The current A-MPDU tx_status report mechanism is too inaccurate.
With this patch BlockACK frames show now up to the driver and
can be processed.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoar9170usb: atomic pending urbs counter
Christian Lamparter [Sat, 17 Oct 2009 19:56:51 +0000 (21:56 +0200)]
ar9170usb: atomic pending urbs counter

This patch follows "ar9170: atomic pending A-MPDU counter"
idea and converts another critical counter to atomic_*.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoar9170: atomic pending A-MPDU counter
Christian Lamparter [Sat, 17 Oct 2009 19:56:43 +0000 (21:56 +0200)]
ar9170: atomic pending A-MPDU counter

A ref-counting bug emerged after testing ar9170usb's HT
implementation on a bigger SMP/SMT system without the usual
_debugging_ overhead.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: rework for static power save
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:58 +0000 (14:25 -0700)]
iwlwifi: rework for static power save

For static power save, the actual intervals are calculated by driver based on
the default table and DTIM flag, then sent to uCode when the scheme
is changed.

Three tables are defined based on DTIM period.
1. DTIM 0 - 2
2. DTIM 3 - 10
3. DTIM > 11

The actual number of DTIM a station may miss may not exceed the
following:
. Only 1 DTIM may be skipped at PI=4 when allowed
. Only 2 DTIMs may be skipped at PI=5 when allowed
. DTIM may be skipped only 5 sec after last activity
. DTIM may be skipped only 30 sec after connection establishment

Only allow user to override the power_level when rf is ready to make sure
power level gets changed upon request.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: no chain noise support for 6x50 series
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:57 +0000 (14:25 -0700)]
iwlwifi: no chain noise support for 6x50 series

For initial bring up of 6x50 series NICs, no chain noise support in
uCode, this feature will be added in the later stage of development.

Two chain noise related functions are removed from 6x50 series:
1. gain computation
2. chain noise reset

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: set auto clock gate disable bit for 6x00/6x50 series
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:56 +0000 (14:25 -0700)]
iwlwifi: set auto clock gate disable bit for 6x00/6x50 series

For 6x00 and 6x50 series NIC with OTP shadow RAM, set auto clock gate
disable bit when initializing OTP access.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlagn: store station rate scale information in mac80211 station structure
Reinette Chatre [Fri, 16 Oct 2009 21:25:55 +0000 (14:25 -0700)]
iwlagn: store station rate scale information in mac80211 station structure

Currently mac80211 initializes the rate scaling before notifying the driver
of the station's existence. The driver dealt with this by not relying on
mac80211's station notifications and instead mixing this functionality with
the rate scaling code and other places. To clean this up the driver needs
to do rate scaling initialization after being notified of the station, this
can be done if the rate scaling information forms part of the station
information passed from mac80211 to driver.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: move rate scaling structures to header file
Reinette Chatre [Fri, 16 Oct 2009 21:25:54 +0000 (14:25 -0700)]
iwlwifi: move rate scaling structures to header file

Move to header file so they can be included and used in other parts of the
driver.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: move iwl_setup_mac to iwlagn
Reinette Chatre [Fri, 16 Oct 2009 21:25:53 +0000 (14:25 -0700)]
iwlwifi: move iwl_setup_mac to iwlagn

This function is only used in iwlagn so there is no need to have it in
iwlcore.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: fix incorrect otp blocks number for 6x50 series
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:52 +0000 (14:25 -0700)]
iwlwifi: fix incorrect otp blocks number for 6x50 series

For 6x50 series, number of OTP blocks is different from 6x00 series

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: identify eeprom version for 6x50 series NIC
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:51 +0000 (14:25 -0700)]
iwlwifi: identify eeprom version for 6x50 series NIC

Adding support for 6x50 series EEPROM version check, 6x50 is wifi/wimax
combo device which has different EEPROM map

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: show current power save status reported by uCode
Wey-Yi Guy [Fri, 16 Oct 2009 21:25:50 +0000 (14:25 -0700)]
iwlwifi: show current power save status reported by uCode

Power save request is sent from driver to uCode, but there is no
indication from uCode about the current device power save state.

Reading GP_CNTRL register bit 25:24 to show the current power save
status

00: no power save
01: MAC power down
10: PHY power down
11: Error

The uCode could switch in and out of power save mode in the order of
once per 100-300 ms in many cases. The reading here should just be used for
reference on the current uCode power save status. Do not confuse this
reading with the PowerSave set by driver and mac80211.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwl3945: disable all tx fifos
Abhijeet Kolekar [Fri, 16 Oct 2009 21:25:49 +0000 (14:25 -0700)]
iwl3945: disable all tx fifos

Disable the all the tx fifos while stopping the tx queues.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1251: re-disable PG10 chips
John W. Linville [Tue, 27 Oct 2009 19:15:05 +0000 (15:15 -0400)]
wl1251: re-disable PG10 chips

"wl1251: add support for PG11 chips." accidentally enabled PG10 chips as
well...

Reported-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: use ieee80211_rx_ni()
John W. Linville [Fri, 16 Oct 2009 18:35:51 +0000 (14:35 -0400)]
b43: use ieee80211_rx_ni()

Convert to new use ieee80211_rx_ni() routine rather than open-coded
version.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove unused lbs_cmd_802_11_inactivity_timeout()
Holger Schurig [Fri, 16 Oct 2009 15:34:22 +0000 (17:34 +0200)]
libertas: remove unused lbs_cmd_802_11_inactivity_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>
14 years agolibertas: make lbs_get_channel() static
Holger Schurig [Fri, 16 Oct 2009 15:33:56 +0000 (17:33 +0200)]
libertas: make lbs_get_channel() static

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>
14 years agolibertas: harmonize cmd.h
Holger Schurig [Fri, 16 Oct 2009 15:33:23 +0000 (17:33 +0200)]
libertas: harmonize cmd.h

* move declarations for functions of cmd.c/cmdresp.c into cmd.h
* move declarations from cmd.h that are in main.c to decl.h
* group command functions

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>
14 years agolibertas: cleanup host.h and hostcmd.h
Holger Schurig [Fri, 16 Oct 2009 15:32:16 +0000 (17:32 +0200)]
libertas: cleanup host.h and hostcmd.h

Also remove some unused definitions and make tab usage consistent.

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>
14 years agoiwmc3200wifi: handle coexistence radio notification
Zhu Yi [Fri, 16 Oct 2009 05:19:00 +0000 (13:19 +0800)]
iwmc3200wifi: handle coexistence radio notification

Handle WiFi/WiMax coexistence radio preemption notification event.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Set wiphy firmware version
Samuel Ortiz [Fri, 16 Oct 2009 05:18:59 +0000 (13:18 +0800)]
iwmc3200wifi: Set wiphy firmware version

Our wiphy firmware version is a combination of the UMAC and LMAC ones.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Support unexpected reboot barker
Samuel Ortiz [Fri, 16 Oct 2009 05:18:58 +0000 (13:18 +0800)]
iwmc3200wifi: Support unexpected reboot barker

We can receive unexpected reboot barker at any time, and we're supposed to
reset the whole device then.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Try shared auth when open WEP fails
Samuel Ortiz [Fri, 16 Oct 2009 05:18:57 +0000 (13:18 +0800)]
iwmc3200wifi: Try shared auth when open WEP fails

When we fail to associate with an open WEP AP, we fall back to shared auth.
This allows us to support joining a shared auth WEP AP with iwconfig.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Do not handle wifi command if the interface is not ready
Samuel Ortiz [Fri, 16 Oct 2009 05:18:56 +0000 (13:18 +0800)]
iwmc3200wifi: Do not handle wifi command if the interface is not ready

When resetting or bringing the interface down, we should just reject any wifi
related command.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Check for cmd pointer before dereferencing it
Samuel Ortiz [Fri, 16 Oct 2009 05:18:55 +0000 (13:18 +0800)]
iwmc3200wifi: Check for cmd pointer before dereferencing it

The wifi_if_wrapper notification handling code uses a cmd pointer without
checking if it's valid or not. We're dereferencing it because we assume that
we only get to that point if there was a pending command for us. That's not
always true, so we'd better check.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: SDIO disable race fix
Samuel Ortiz [Fri, 16 Oct 2009 05:18:54 +0000 (13:18 +0800)]
iwmc3200wifi: SDIO disable race fix

When calling sdio->bus_disable(), we are flushing the command lists before
disabling the sdio function. We can thus potentially get a command response
after having flushed the command list.
To avoid that race, we have to call iwm_reset() after disabling the sdio
function.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Tx power setting
Samuel Ortiz [Fri, 16 Oct 2009 05:18:53 +0000 (13:18 +0800)]
iwmc3200wifi: Tx power setting

We can now set the Tx power from e.g. iwconfig.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Update fixed size config definitions
Samuel Ortiz [Fri, 16 Oct 2009 05:18:52 +0000 (13:18 +0800)]
iwmc3200wifi: Update fixed size config definitions

We need to be in sync with the latest firmware API.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Update statistics notification structure
Samuel Ortiz [Fri, 16 Oct 2009 05:18:51 +0000 (13:18 +0800)]
iwmc3200wifi: Update statistics notification structure

The latest firmware adds a ht_rates and a chain_energy field. The latter is
needed as we want to eventually support RSSI/antenna handling.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Improve rx debug
Samuel Ortiz [Fri, 16 Oct 2009 05:18:50 +0000 (13:18 +0800)]
iwmc3200wifi: Improve rx debug

We display the correct DROP/RELEASE string for each rx packets, and when
it's dropped we also display the reason.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Profile flags can be WPA1 or WPA2 not both
Samuel Ortiz [Fri, 16 Oct 2009 05:18:49 +0000 (13:18 +0800)]
iwmc3200wifi: Profile flags can be WPA1 or WPA2 not both

UMAC will ASSERT if the profile security flag is WPA1 | WPA2, so we can only
accept one of those.
Moreover wpa_s wext and nl80211 drivers dont try to send WPA1 | WPA2, but only
one at a time.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: CT kill support
Samuel Ortiz [Fri, 16 Oct 2009 05:18:48 +0000 (13:18 +0800)]
iwmc3200wifi: CT kill support

We set the initial CT (Temperature control) value to 110 degrees.
If the chip goes over that threshold, we hard block the device which will turn
it down. At the same time we schedule a 30 seconds delayed work that unblock
the device (and userspace is supposed to bring it back up), hoping that the
chip will have cooled down by then...

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: WPS support
Samuel Ortiz [Fri, 16 Oct 2009 05:18:47 +0000 (13:18 +0800)]
iwmc3200wifi: WPS support

By setting the WSC profile flag, we now support WPS as an enrollee.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: allow joining an existed IBSS network
Zhu Yi [Fri, 16 Oct 2009 05:18:46 +0000 (13:18 +0800)]
iwmc3200wifi: allow joining an existed IBSS network

We used to only support creating a new IBSS network. Now joining to
an existed IBSS network is supported as well.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: add BGN sdio device id
Zhu Yi [Fri, 16 Oct 2009 05:18:45 +0000 (13:18 +0800)]
iwmc3200wifi: add BGN sdio device id

Add BGN SKU sdio device id.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Learn about mesh portals from multicast traffic
Javier Cardona [Fri, 16 Oct 2009 01:10:51 +0000 (18:10 -0700)]
mac80211: Learn about mesh portals from multicast traffic

Mesh portals proxy traffic for nodes external to the mesh.  When a
proxied frame is received by a mesh interface, it should update its mesh
portal table.  This was only happening for unicast frames.  With this
change we also learn about mesh portals from proxied multicast frames.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agort2x00: Implement support for rt2800pci
Ivo van Doorn [Thu, 15 Oct 2009 20:04:14 +0000 (22:04 +0200)]
rt2x00: Implement support for rt2800pci

Add support for the rt2860/rt3090 chipsets from Ralink.

Includes various patches from a lot of people who helped
getting this driver into the current shape.

Signed-off-by: Alban Browaeys <prahal@yahoo.com>
Signed-off-by: Benoit PAPILLAULT <benoit.papillault@free.fr>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Luis Correia <luis.f.correia@gmail.com>
Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: Mark Asselstine <asselsm@gmail.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agort2x00: Add rt2x00soc bus module
Ivo van Doorn [Thu, 15 Oct 2009 19:38:19 +0000 (21:38 +0200)]
rt2x00: Add rt2x00soc bus module

Add new library module for SoC drivers.
This is needed to fully support the platform
driver part of rt2800pci.

Based on original patch from Felix.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1251: use ieee80211_rx_ni()
Kalle Valo [Tue, 13 Oct 2009 17:33:21 +0000 (20:33 +0300)]
wl1251: use ieee80211_rx_ni()

Because of SPI and SDIO wl1251 does everything in a workqueue, including
calling ieee80211_rx() which should be called with bottom halves disabled.
An error message is emitted because of this:

NOHZ: local_softirq_pending 08

Fix this by using ieee80211_rx_ni().

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: add ieee80211_rx_ni()
Kalle Valo [Tue, 13 Oct 2009 17:33:13 +0000 (20:33 +0300)]
mac80211: add ieee80211_rx_ni()

ieee80211_rx() must be called with bottom halves disabled. To simplify
driver development implement ieee80211_rx_ni() which disables BH. This
function must be used when in process context.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: Optimize PIO scratchbuffer usage
Michael Buesch [Fri, 9 Oct 2009 18:33:32 +0000 (20:33 +0200)]
b43: Optimize PIO scratchbuffer usage

This optimizes the PIO scratchbuffer usage.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>