kernel/kernel-generic.git
14 years agotg3: Disable TSS also during tg3_close()
Matt Carlson [Mon, 2 Aug 2010 11:25:56 +0000 (11:25 +0000)]
tg3: Disable TSS also during tg3_close()

The TSS flag needs to be turned off during tg3_close().  If the device
fails to allocate more than one MSI-X vector the next time the device is
brought up, transmits will fail.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add 5784 ASIC rev to earlier PCIe MPS fix
Matt Carlson [Mon, 2 Aug 2010 11:25:55 +0000 (11:25 +0000)]
tg3: Add 5784 ASIC rev to earlier PCIe MPS fix

tg3 commit e7126997342560533317d8467e8516119ebcbd21 entitled
"tg3: Preserve PCIe MPS setting for new devs" attempted to ensure the
PCIe link negotiated Maximum Payload Size (MPS) setting was 128 bytes
for all devices that didn't support higher speeds.  The 5784 device was
mistakenly added to this list when it shouldn't have.  This patch
removes the 5784 ASIC rev devices from that list.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
David S. Miller [Mon, 2 Aug 2010 22:07:58 +0000 (15:07 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/kaber/nf-next-2.6

14 years agonetfilter: nf_conntrack_acct: use skb->len for accounting
Changli Gao [Mon, 2 Aug 2010 15:56:28 +0000 (17:56 +0200)]
netfilter: nf_conntrack_acct: use skb->len for accounting

use skb->len for accounting as xt_quota does. Since nf_conntrack works
at the network layer, skb_network_offset should always returns ZERO.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: don't check if the tuple is unique when there isn't any other...
Changli Gao [Mon, 2 Aug 2010 15:35:49 +0000 (17:35 +0200)]
netfilter: nf_nat: don't check if the tuple is unique when there isn't any other choice

The tuple got from unique_tuple() doesn't need to be really unique, so the
check for the unique tuple isn't necessary, when there isn't any other
choice. Eliminating the unnecessary nf_nat_used_tuple() can save some CPU
cycles too.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: make unique_tuple return void
Changli Gao [Mon, 2 Aug 2010 15:20:54 +0000 (17:20 +0200)]
netfilter: nf_nat: make unique_tuple return void

The only user of unique_tuple() get_unique_tuple() doesn't care about the
return value of unique_tuple(), so make unique_tuple() return void (nothing).

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: use local variable hdrlen
Changli Gao [Mon, 2 Aug 2010 15:15:30 +0000 (17:15 +0200)]
netfilter: nf_nat: use local variable hdrlen

Use local variable hdrlen instead of ip_hdrlen(skb).

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoipvs: provide default ip_vs_conn_{in,out}_get_proto
Simon Horman [Mon, 2 Aug 2010 15:12:44 +0000 (17:12 +0200)]
ipvs: provide default ip_vs_conn_{in,out}_get_proto

This removes duplicate code by providing a default implementation
which is used by 3 of the 4 modules that provide these call.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoipvs: remove EXPERIMENTAL tag
Simon Horman [Mon, 2 Aug 2010 15:08:11 +0000 (17:08 +0200)]
ipvs: remove EXPERIMENTAL tag

IPVS was merged into the kernel quite a long time ago and
has been seeing wide-spread production use for even longer.

It seems appropriate for it to be no longer tagged as EXPERIMENTAL

Signed-off-as: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()
Changli Gao [Mon, 2 Aug 2010 15:06:19 +0000 (17:06 +0200)]
netfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()

some users of nf_ct_ext_exist() know ct->ext isn't NULL. For these users, the
check for ct->ext isn't necessary, the function __nf_ct_ext_exist() can be
used instead.

the type of the return value of nf_ct_ext_exist() is changed to bool.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary
Eric Dumazet [Mon, 2 Aug 2010 14:49:01 +0000 (16:49 +0200)]
netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary

We currently disable BH for the whole duration of get_counters()

On machines with a lot of cpus and large tables, this might be too long.

We can disable preemption during the whole function, and disable BH only
while fetching counters for the current cpu.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonet: ingress filter message limit
Stephen Hemminger [Sun, 1 Aug 2010 07:33:23 +0000 (00:33 -0700)]
net: ingress filter message limit

If user misconfigures ingress and causes a redirection loop, don't
overwhelm the log.  This is also a error case so make it unlikely.
Found by inspection, luckily not in real system.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/rose: Use GFP_ATOMIC
Julia Lawall [Fri, 30 Jul 2010 23:56:39 +0000 (23:56 +0000)]
net/rose: Use GFP_ATOMIC

The other calls to kmalloc in the same function use GFP_ATOMIC, and indeed
two locks are held within the body of the function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ identifier f; @@

*f(...,GFP_ATOMIC,...)
... when != spin_unlock(...)
    when != read_unlock(...)
    when != write_unlock(...)
    when != read_unlock_irq(...)
    when != write_unlock_irq(...)
    when != read_unlock_irqrestore(...)
    when != write_unlock_irqrestore(...)
    when != spin_unlock_irq(...)
    when != spin_unlock_irqrestore(...)
*f(...,GFP_KERNEL,...)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: fix to avoid sending get_stats request if one is already being processed.
Ajit Khaparde [Thu, 29 Jul 2010 06:18:58 +0000 (06:18 +0000)]
be2net: fix to avoid sending get_stats request if one is already being processed.

GET_STATS request uses the same memory region as the response.
If a new request for get stats is fired before the response for
the previous get_stats request is received, the response will
corrupt the new request, causing the f/w to misbehave.

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: change to show correct physical link status
Ajit Khaparde [Thu, 29 Jul 2010 06:17:17 +0000 (06:17 +0000)]
be2net: change to show correct physical link status

link status is wrongly displayed under certain circumstances.
This change fixes it.

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: add code to dump registers for debug
Ajit Khaparde [Thu, 29 Jul 2010 06:16:33 +0000 (06:16 +0000)]
be2net: add code to dump registers for debug

when the BE device becomes unresponsive, dump the registers to help debugging

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: fix to correctly know if driver needs to run for a VF or a PF
Ajit Khaparde [Thu, 29 Jul 2010 06:15:32 +0000 (06:15 +0000)]
be2net: fix to correctly know if driver needs to run for a VF or a PF

Move be_check_sriov_fn_type to appropriate place to correctly determine
if the be2net driver needs to work as a VF driver or a PF driver.

Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agosky2: Code style fixes
Mike McCormack [Thu, 29 Jul 2010 03:34:52 +0000 (03:34 +0000)]
sky2: Code style fixes

Fix selected style problems reported by checkpatch.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC: Fix incorrect reference to EMAC_CTRL registers.
Sriram [Thu, 29 Jul 2010 02:34:00 +0000 (02:34 +0000)]
TI DaVinci EMAC: Fix incorrect reference to EMAC_CTRL registers.

The EMAC modules control registers vary as per the version of the
EMAC module. EMAC_CTRL_EWCTL,EMAC_CTRL_EWINTTCNT are available
only on EMAC_VERSION_1. The emac_dump_regs() function accesses
these indiscriminately. This patch fixes the issue.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC: Fix asymmetric handling of packets in NAPI Poll function.
Sriram [Thu, 29 Jul 2010 02:33:59 +0000 (02:33 +0000)]
TI DaVinci EMAC: Fix asymmetric handling of packets in NAPI Poll function.

The current implementation of NAPI poll function in the driver does not service
Rx packets, error condition even if a single Tx packet gets serviced in
the napi poll call. This behavior severely affects performance for specific use
cases. This patch modifies the poll function implementation to service tx/rx
packets in an identical manner.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC : Implement interrupt pacing functionality.
Sriram [Thu, 29 Jul 2010 02:33:58 +0000 (02:33 +0000)]
TI DaVinci EMAC : Implement interrupt pacing functionality.

DaVinci EMAC module includes an interrupt pacing block that can
be programmed to throttle the rate at which interrupts are
generated. This patch implements interrupt pacing logic that can
be controlled through the ethtool interface(only rx_coalesce_usecs
param is honored)

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobridge: Allow multicast snooping to be disabled before ifup
Herbert Xu [Thu, 29 Jul 2010 00:45:30 +0000 (00:45 +0000)]
bridge: Allow multicast snooping to be disabled before ifup

Currently you cannot disable multicast snooping while a device is
down.  There is no good reason for this restriction and this patch
removes it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodnet: fixup error handling in initialization
Dan Carpenter [Wed, 28 Jul 2010 22:27:29 +0000 (22:27 +0000)]
dnet: fixup error handling in initialization

There were two problems here.  We returned success if dnet_mii_init()
failed and there was a release_mem_region() missing.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobonding: prevent sysfs from allowing arp monitoring with alb/tlb
Andy Gospodarek [Wed, 28 Jul 2010 15:13:56 +0000 (15:13 +0000)]
bonding: prevent sysfs from allowing arp monitoring with alb/tlb

When using module options arp monitoring and balance-alb/balance-tlb
are mutually exclusive options.  Anytime balance-alb/balance-tlb are
enabled mii monitoring is forced to 100ms if not set.  When configuring
via sysfs no checking is currently done.

Handling these cases with sysfs has to be done a bit differently because
we do not have all configuration information available at once.  This
patch will not allow a mode change to balance-alb/balance-tlb if
arp_interval is already non-zero.  It will also not allow the user to
set a non-zero arp_interval value if the mode is already set to
balance-alb/balance-tlb.  They are still mutually exclusive on a
first-come, first serve basis.

Tested with initscripts on Fedora and manual setting via sysfs.

Signed-off-by: Andy Gospodarek <gospo@redhat.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/vxge/vxge-main.c: Use pr_<level> and netdev_<level>
Joe Perches [Tue, 27 Jul 2010 11:47:03 +0000 (11:47 +0000)]
drivers/net/vxge/vxge-main.c: Use pr_<level> and netdev_<level>

Use pr_fmt, pr_<level> and netdev_<level> where appropriate.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: ks8842 depends on DMA_ENGINE
Randy Dunlap [Thu, 29 Jul 2010 07:14:27 +0000 (07:14 +0000)]
net: ks8842 depends on DMA_ENGINE

ks8842 uses dma channel functions, so it should depend on DMA_ENGINE.

ERROR: "__dma_request_channel" [drivers/net/ks8842.ko] undefined!
ERROR: "dma_release_channel" [drivers/net/ks8842.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoucc_geth: fix UCC device number in debug message
Sergey Matyukevich [Wed, 28 Jul 2010 08:05:21 +0000 (08:05 +0000)]
ucc_geth: fix UCC device number in debug message

This patch contains a fix for UCC device number in verbose debug message.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotun: keep link (carrier) state up to date
Nolan Leake [Tue, 27 Jul 2010 13:53:43 +0000 (13:53 +0000)]
tun: keep link (carrier) state up to date

Currently, only ethtool can get accurate link state of a tap device.
With this patch, IFF_RUNNING and IF_OPER_UP/DOWN are kept up to date as
well.

Signed-off-by: Nolan Leake <nolan@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Thu, 29 Jul 2010 18:47:07 +0000 (14:47 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6 into for-davem

14 years agocfg80211: fix dev <-> wiphy typo
Christian Lamparter [Wed, 28 Jul 2010 23:28:46 +0000 (01:28 +0200)]
cfg80211: fix dev <-> wiphy typo

Cc: Joe Perches <joe@perches.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: allow drivers to request DTIM period
Johannes Berg [Thu, 29 Jul 2010 14:08:55 +0000 (16:08 +0200)]
mac80211: allow drivers to request DTIM period

Some features require knowing the DTIM period
before associating. This implements the ability
to wait for a beacon in mac80211 before assoc
to provide this value. It is optional since
most likely not all drivers will need this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: fix scan abort
Stanislaw Gruszka [Thu, 29 Jul 2010 09:37:41 +0000 (11:37 +0200)]
iwlwifi: fix scan abort

Fix possible double priv->mutex lock introduced by commit
a69b03e941abae00380fc6bc1877fb797a1b31e6
"iwlwifi: cancel scan watchdog in iwl_bg_abort_scan" .
We can not call cancel_delayed_work_sync(&priv->scan_check) with
priv->mutex locked because workqueue function iwl_bg_scan_check()
take that lock internally.

We do not need to synchronize when canceling priv->scan_check work.
We can avoid races (sending double abort command or send no
command at all) using STATUS_SCAN_ABORT bit. Moreover
current iwl_bg_scan_check() code seems to be broken, as
we should not send abort commands when currently aborting.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomwl8k: change maintenance status
Lennert Buytenhek [Wed, 28 Jul 2010 23:47:04 +0000 (01:47 +0200)]
mwl8k: change maintenance status

The 8366 AP support in particular is still rather incomplete, but
this is unlikely to be addressed any time soon.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1271: update hw/fw version info in wiphy struct
John W. Linville [Wed, 28 Jul 2010 21:09:41 +0000 (17:09 -0400)]
wl1271: update hw/fw version info in wiphy struct

This makes the information available through ethtool...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
14 years agowl1251: update hw/fw version info in wiphy struct
John W. Linville [Wed, 28 Jul 2010 20:59:41 +0000 (16:59 -0400)]
wl1251: update hw/fw version info in wiphy struct

This makes the information available through ethtool...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
14 years agowl1271: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 20:41:06 +0000 (16:41 -0400)]
wl1271: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
14 years agolibertas_tf: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 19:03:42 +0000 (15:03 -0400)]
libertas_tf: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1251: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 19:23:30 +0000 (15:23 -0400)]
wl1251: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
14 years agoar9170: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 18:47:49 +0000 (14:47 -0400)]
ar9170: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agomwl8k: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 18:04:24 +0000 (14:04 -0400)]
mwl8k: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
14 years agoath9k: enable serialize_regmode for non-PCIE AR9160
John W. Linville [Wed, 28 Jul 2010 14:06:35 +0000 (10:06 -0400)]
ath9k: enable serialize_regmode for non-PCIE AR9160

https://bugzilla.kernel.org/show_bug.cgi?id=16476

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Cc: stable@kernel.org
14 years agonet: bnx2x_cmn.c needs net/ip6_checksum.h for csum_ipv6_magic
Stephen Rothwell [Thu, 29 Jul 2010 05:20:34 +0000 (22:20 -0700)]
net: bnx2x_cmn.c needs net/ip6_checksum.h for csum_ipv6_magic

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomac80211: inform drivers about the off-channel status on channel changes
Felix Fietkau [Wed, 28 Jul 2010 00:40:49 +0000 (02:40 +0200)]
mac80211: inform drivers about the off-channel status on channel changes

For some drivers it can be useful to know whether the channel they're
supposed to switch to is going to be used for short off-channel work or
scanning, or whether the hardware is expected to stay on it for a while
longer. This is important for various kinds of calibration work, which
takes longer to complete and should keep some persistent state, even if
the channel temporarily changes.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoRevert "mac80211: fix sw scan bracketing"
Luis R. Rodriguez [Tue, 27 Jul 2010 20:33:08 +0000 (16:33 -0400)]
Revert "mac80211: fix sw scan bracketing"

This reverts this commit. While in theory the change is
correct the patch does not address current assumptions made
by some drivers, one which is definitley affected is ath9k.

Prior to this change the scan complete callback would be
called after we returned to the home channel and configured
the hardware RX filters. After this change we call the scan
complete callback prior to both the hw config and the config
filter. At least for ath9k this breaks quite a few assumptions
on the callback, leading to disconnects to the AP after every scan
making the driver pretty useless on STA mode. The goal behind
this commit was to address the now understood spurious warnings
from ath9k and mac80211_hwsim on scanning on two wiphys at the
same time but we have now supressed these and will address this
issue in the next kernel release.

When fixing this for good next we must first review the other
driver's dependence on this logic and perhaps consider removal
of the scan complete callback all together.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: remove the two wiphys scanning at the same time message
Luis R. Rodriguez [Tue, 27 Jul 2010 20:33:06 +0000 (16:33 -0400)]
ath9k: remove the two wiphys scanning at the same time message

When issuing two consecutive scans you could often end up
getting in the logs:

"ath9k: Two wiphys trying to scan at the same time"

This message is due to a race in mac80211 but addressing
that race requires some more major changes on the driver
and perhaps optimizations on mac80211 like removing the
scan complete callback alltogether. Its too late to address
this this kernel release so supress the complaint and annotate
this needs fixing for later.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agocfg80211: Update of regulatory request initiator handling
Yuri Ershov [Tue, 29 Jun 2010 11:08:08 +0000 (15:08 +0400)]
cfg80211: Update of regulatory request initiator handling

In some cases there could be possible dereferencing freed pointer. The
update is intended to avoid this issue.

Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agonl80211: Fix memory leaks
Yuri Ershov [Tue, 29 Jun 2010 11:08:07 +0000 (15:08 +0400)]
nl80211: Fix memory leaks

In case of errors during message composing msg should be freed after canceling.

Signed-off-by: Yuri Kululin <ext-yuri.kululin@nokia.com>
Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Put some code under MESH macro
Yuri Ershov [Tue, 29 Jun 2010 11:08:06 +0000 (15:08 +0400)]
mac80211: Put some code under MESH macro

In the function ieee80211_subif_start_xmit the logic related with
meshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn't.
This is some update for this

Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
John W. Linville [Wed, 28 Jul 2010 20:17:49 +0000 (16:17 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-next-2.6

14 years agoks8842: Fix warnings on 64-bit.
David S. Miller [Wed, 28 Jul 2010 05:24:37 +0000 (22:24 -0700)]
ks8842: Fix warnings on 64-bit.

drivers/net/ks8842.c:922:26: warning: cast from pointer to integer of different size
drivers/net/ks8842.c:940:17: warning: cast to pointer from integer of different size
drivers/net/ks8842.c:963:17: warning: cast to pointer from integer of different size

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomacvlan: Fix rx counters update in macvlan_handle_frame()
Sridhar Samudrala [Tue, 27 Jul 2010 09:10:07 +0000 (09:10 +0000)]
macvlan: Fix rx counters update in macvlan_handle_frame()

Fix macvlan_handle_frame() to update the rx counters based
on the return value of the vlan->receive call.

Updated the patch to not do any packet count drops when the interface
is down based on Herber'ts comments.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 28 Jul 2010 04:01:35 +0000 (21:01 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:
drivers/net/bnx2x_main.c

Merge bnx2x bug fixes in by hand... :-/

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoixgbe: potential null dereference
Dan Carpenter [Tue, 27 Jul 2010 00:05:56 +0000 (00:05 +0000)]
ixgbe: potential null dereference

The e_dev_err() macro dereferences "adapter" which is NULL here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoks8842: Support DMA when accessed via timberdale
Richard Röjfors [Tue, 27 Jul 2010 12:57:01 +0000 (12:57 +0000)]
ks8842: Support DMA when accessed via timberdale

This patch adds support for RX and TX DMA via the DMA API,
this is only supported when the KS8842 is accessed via timberdale.

There is no support for DMA on the generic bus interface it self,
a state machine inside the FPGA is handling RX and TX transfers to/from
buffers in the FPGA. The host CPU can do DMA to and from these buffers.

The FPGA has to handle the RX interrupts, so these must be enabled in
the ks8842 but not in the FPGA. The driver must not disable the RX interrupt
that would mean that the data transfers into the FPGA buffers would stop.

The host shall not enable TX interrupts since TX is handled by the FPGA,
the host is notified by DMA callbacks when transfers are finished.

Which DMA channels to use are added as parameters in the platform data struct.

Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agostmmac: fix automatic PAD/FCS stripping
Giuseppe CAVALLARO [Tue, 27 Jul 2010 00:09:47 +0000 (00:09 +0000)]
stmmac: fix automatic PAD/FCS stripping

For Simple Ethernet frames (802.2 and 802.3) the GMAC Core
never strips pad and fcs. This means the ACS has no effect
on IPv4/6 frames.
The FL bits, in the RDES0, include the FCS so the driver
has to remove it in SW.
For 802.3 frame format with LLC or LLC-SNAP, when set the ACS
bit, the HW strips both PAD and FCS.
The FL bits, in the RDES0, actually represents the frame length
already stripped.
This patch fixes this logic within the device driver that
erroneously removed 4byte from 802.3 frames already stripped
corrupting the payload.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agostmmac: fix timer setup when use dual mac Kconfig
Giuseppe CAVALLARO [Tue, 27 Jul 2010 00:09:46 +0000 (00:09 +0000)]
stmmac: fix timer setup when use dual mac Kconfig

The driver erroneously sets the tmrate to zero when the
TMU initialisation fails. This actually generates problems
while using the dual GMAC configuration.

With this patch, enabling both the dual gmac and the timer
optimisation, the first interface opened will use the tmu
channel 2, the second one won't be able to use the timer but
will continue to work without mitigating the interrupts by
using the external timer (i.e. TMU channel 2).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Update MAINTAINERS according to new location
Dmitry Kravkov [Tue, 27 Jul 2010 12:37:58 +0000 (12:37 +0000)]
bnx2x: Update MAINTAINERS according to new location

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: update driver version to 1.52.53-3
Dmitry Kravkov [Tue, 27 Jul 2010 12:37:06 +0000 (12:37 +0000)]
bnx2x: update driver version to 1.52.53-3

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Move statistics handling code to bnx2x_stats.*
Dmitry Kravkov [Tue, 27 Jul 2010 12:36:15 +0000 (12:36 +0000)]
bnx2x: Move statistics handling code to bnx2x_stats.*

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create separate file for ethtool routines
Dmitry Kravkov [Tue, 27 Jul 2010 12:35:24 +0000 (12:35 +0000)]
bnx2x: Create separate file for ethtool routines

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create bnx2x_cmn.* files
Dmitry Kravkov [Tue, 27 Jul 2010 12:34:34 +0000 (12:34 +0000)]
bnx2x: Create bnx2x_cmn.* files

Newly created files have no functionality changes,
but includes some functionality from bnx2x_main.c which
is common for PF and coming in the future VF driver.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: move global variable load_count to bnx2x.h
Dmitry Kravkov [Tue, 27 Jul 2010 12:33:43 +0000 (12:33 +0000)]
bnx2x: move global variable load_count to bnx2x.h

This will allow access to this global variable (used in no-mcp
mode) from different object files.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: store module parameters in driver main structure
Dmitry Kravkov [Tue, 27 Jul 2010 12:32:19 +0000 (12:32 +0000)]
bnx2x: store module parameters in driver main structure

Store module parameters during initialization of main driver
structure. This will allow access to the parameters from different
files.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create separate folder for bnx2x driver
Dmitry Kravkov [Tue, 27 Jul 2010 12:31:10 +0000 (12:31 +0000)]
bnx2x: Create separate folder for bnx2x driver

This commit includes files movement to newly created folder
using git-mv command and fixes references in cnic and bnx2x code
to each other.

files moved using following:
#!/bin/bash
mkdir drivers/net/bnx2x/
list=$(cd drivers/net/ && ls bnx2x*.[ch])
for f in $list; do
        git mv -f drivers/net/$f drivers/net/bnx2x/$f
done

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoBluetooth: Fix kfree() => kfree_skb() in hci_ath.c
Dan Carpenter [Fri, 23 Jul 2010 10:11:04 +0000 (12:11 +0200)]
Bluetooth: Fix kfree() => kfree_skb() in hci_ath.c

sk_buffs have to be freed with kfree_skb() instead of kfree().

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoigbvf, ixgbevf: use dev_hw_addr_random
Stefan Assmann [Mon, 26 Jul 2010 23:24:50 +0000 (23:24 +0000)]
igbvf, ixgbevf: use dev_hw_addr_random

Both igbvf and ixgbevf should set addr_assign_type to NET_ADDR_RANDOM
so udev creates persistent net rules by matching the device path.
Do this by using the dev_hw_addr_random helper function.

Signed-off-by: Stefan Assmann <sassmann@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoixgbe: priority tagging FCoE frames without FCoE offload
John Fastabend [Mon, 26 Jul 2010 20:41:31 +0000 (20:41 +0000)]
ixgbe: priority tagging FCoE frames without FCoE offload

The DCB user priority for FCoE is available regardless of whether
FCoE offload is enabled (IXGBE_FLAG_FCOE_ENABLED bit is set).
This allows proper DCB user priority tagging for FCoE
traffic on both 82598 and 82599 devices.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoBluetooth: Add __init and __exit marks to RFCOMM
Gustavo F. Padovan [Sat, 24 Jul 2010 05:04:45 +0000 (02:04 -0300)]
Bluetooth: Add __init and __exit marks to RFCOMM

Those annotation save memory and space on the binary. __init code is
discarded just after execute and __exit code is discarded if the module
is built into the kernel image or unload of modules is not allowed.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Add __init and __exit marks to UART drivers
Gustavo F. Padovan [Sat, 24 Jul 2010 05:04:44 +0000 (02:04 -0300)]
Bluetooth: Add __init and __exit marks to UART drivers

Those marks are useful to save space in the binary and in the memory.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Use hci_recv_stream_fragment() in UART driver
Gustavo F. Padovan [Sat, 24 Jul 2010 04:46:57 +0000 (01:46 -0300)]
Bluetooth: Use hci_recv_stream_fragment() in UART driver

Use the new hci_recv_stream_fragment() to reassembly incoming UART
streams.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Tested-by: Ville Tervo <ville.tervo@nokia.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Test 'count' value before enter the loop
Gustavo F. Padovan [Sat, 24 Jul 2010 04:34:54 +0000 (01:34 -0300)]
Bluetooth: Test 'count' value before enter the loop

Testing first we avoid enter the loop when count = 0.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Fix permission of hci_ath.c
Gustavo F. Padovan [Sat, 24 Jul 2010 04:06:05 +0000 (01:06 -0300)]
Bluetooth: Fix permission of hci_ath.c

.c file shall not have the 'x' permission.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Defer SCO setup if mode change is pending
Marcel Holtmann [Mon, 26 Jul 2010 14:06:00 +0000 (10:06 -0400)]
Bluetooth: Defer SCO setup if mode change is pending

Certain headsets such as the Motorola H350 will reject SCO and eSCO
connection requests while the ACL is transitioning from sniff mode
to active mode. Add synchronization so that SCO and eSCO connection
requests will wait until the ACL has fully transitioned to active mode.

< HCI Command: Exit Sniff Mode (0x02|0x0004) plen 2
    handle 12
> HCI Event: Command Status (0x0f) plen 4
    Exit Sniff Mode (0x02|0x0004) status 0x00 ncmd 1
< HCI Command:  Setup Synchronous Connection (0x01|0x0028) plen 17
    handle 12 voice setting 0x0040
> HCI Event: Command Status (0x0f) plen 4
    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 12 packets 1
> HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 12 mode 0x00 interval 0
    Mode: Active
> HCI Event: Synchronous Connect Complete (0x2c) plen 17
    status 0x10 handle 14 bdaddr 00:1A:0E:50:28:A4 type SCO
    Error: Connection Accept Timeout Exceeded

Signed-off-by: Ron Shaffer <rshaffer@codeaurora.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agowireless: Convert wiphy_debug macro to function
Joe Perches [Mon, 26 Jul 2010 21:40:00 +0000 (14:40 -0700)]
wireless: Convert wiphy_debug macro to function

Save a few bytes of text

(allyesconfig)
$ size drivers/net/wireless/built-in.o*
   text    data     bss     dec     hex filename
3924568  100548  871056 4896172  4ab5ac drivers/net/wireless/built-in.o.new
3926520  100548  871464 4898532  4abee4 drivers/net/wireless/built-in.o.old

$ size net/wireless/core.o*
   text    data     bss     dec     hex filename
  12843     216    3768   16827    41bb net/wireless/core.o.new
  12328     216    3656   16200    3f48 net/wireless/core.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agodrivers/net/wireless/at76c50x-usb.c: Neaten macros
Joe Perches [Mon, 26 Jul 2010 21:39:59 +0000 (14:39 -0700)]
drivers/net/wireless/at76c50x-usb.c: Neaten macros

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agodrivers/net/wireless: Use wiphy_<level>
Joe Perches [Mon, 26 Jul 2010 21:39:58 +0000 (14:39 -0700)]
drivers/net/wireless: Use wiphy_<level>

Standardize the logging macros used.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoinclude/net/cfg80211.h: Add wiphy_<level> printk equivalents
Joe Perches [Mon, 26 Jul 2010 21:39:57 +0000 (14:39 -0700)]
include/net/cfg80211.h: Add wiphy_<level> printk equivalents

Simplify logging messages for wiphy devices

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove unused cmd_pending waitq
Dan Williams [Tue, 27 Jul 2010 20:17:03 +0000 (13:17 -0700)]
libertas: remove unused cmd_pending waitq

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: rename lbs_get_cmd_ctrl_node() to lbs_get_free_cmd_node()
Dan Williams [Tue, 27 Jul 2010 20:16:24 +0000 (13:16 -0700)]
libertas: rename lbs_get_cmd_ctrl_node() to lbs_get_free_cmd_node()

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: kill unused lbs_prepare_and_send_command()
Dan Williams [Tue, 27 Jul 2010 20:15:45 +0000 (13:15 -0700)]
libertas: kill unused lbs_prepare_and_send_command()

Remove last bits of indirect command code.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert DEEP_SLEEP timer to a direct command
Dan Williams [Tue, 27 Jul 2010 20:15:01 +0000 (13:15 -0700)]
libertas: convert DEEP_SLEEP timer to a direct command

Other uses were already used direct command paths.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert PS_MODE to a direct command
Dan Williams [Tue, 27 Jul 2010 20:08:08 +0000 (13:08 -0700)]
libertas: convert PS_MODE to a direct command

Powersave looks like it got broken at some point but we'll fix that up
when the command submission stuff is more understandable, which this
series helps to do.  That said, this patch should not further break
powersave.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove unused indirect command response handler
Dan Williams [Tue, 27 Jul 2010 20:05:16 +0000 (13:05 -0700)]
libertas: remove unused indirect command response handler

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert CMD_FWT_ACCESS to a direct command
Dan Williams [Tue, 27 Jul 2010 20:03:46 +0000 (13:03 -0700)]
libertas: convert CMD_FWT_ACCESS to a direct command

Slightly different approach here since there are so many arguments to
the firmware command.  Just let the caller fill them in before pushing
the command to the firmware.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert Mesh Blinding Table access to a direct command
Dan Williams [Tue, 27 Jul 2010 20:01:47 +0000 (13:01 -0700)]
libertas: convert Mesh Blinding Table access to a direct command

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert register access to direct commands
Dan Williams [Tue, 27 Jul 2010 20:01:07 +0000 (13:01 -0700)]
libertas: convert register access to direct commands

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert LED_GPIO_CTRL to a direct command
Dan Williams [Tue, 27 Jul 2010 19:59:44 +0000 (12:59 -0700)]
libertas: convert LED_GPIO_CTRL to a direct command

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove Beacon Control
Dan Williams [Tue, 27 Jul 2010 19:58:08 +0000 (12:58 -0700)]
libertas: remove Beacon Control

For now; it's a pretty easy command to hook up and whenever OLPC
figures out how they want the userspace interface to look (ie,
not iwpriv commands) we can easily add it back in.  Since the
cfg80211 conversion it wasn't working anyway.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove unused Automatic Frequency Control command
Dan Williams [Tue, 27 Jul 2010 19:57:27 +0000 (12:57 -0700)]
libertas: remove unused Automatic Frequency Control command

It hasn't been hooked up to anything in a long time and it's not
even listed in any of the firmware documentation I have (and I
have v5.1, v8, v9, and v10).

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: remove unused indirect TPC_CFG command leftovers
Dan Williams [Tue, 27 Jul 2010 19:56:44 +0000 (12:56 -0700)]
libertas: remove unused indirect TPC_CFG command leftovers

These were no longer used but were left around; Transmit Power
Control is done through the lbs_set_tpc_cfg() function.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: convert 11D_DOMAIN_INFO to a direct command
Dan Williams [Tue, 27 Jul 2010 19:56:05 +0000 (12:56 -0700)]
libertas: convert 11D_DOMAIN_INFO to a direct command

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: clean up RSSI command
Dan Williams [Tue, 27 Jul 2010 19:55:21 +0000 (12:55 -0700)]
libertas: clean up RSSI command

Convert to a full direct command; previous code rolled a direct
command by hand but left the original indirect command code intact
but disabled.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: clean up MONITOR_MODE command
Dan Williams [Tue, 27 Jul 2010 19:54:34 +0000 (12:54 -0700)]
libertas: clean up MONITOR_MODE command

Convert to a full direct command; previous code rolled a direct
command by handle but left the original indirect command code
lying around.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agort2500usb: disallow to set WEP key with non zero index
Stanislaw Gruszka [Tue, 27 Jul 2010 14:48:24 +0000 (10:48 -0400)]
rt2500usb: disallow to set WEP key with non zero index

On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter),
setting any WEP key with non zero index, cause rx frames corruption.

Note: perhaps (I did not check) this can be fixed differently - by using
hw_key_idx the same as true MAC key index. But according to the comment in
rt2x00mac_set_key():

"the hardware requires keys to be assigned in correct order (When key 1
is provided but key 0 is not, then the key is not found by the hardware
during RX)"

this will be quite problematic. Since WEP should not be used, disabling
hardware crypto offload for it will not hurt much. Beside static
one key WEP will still be offloaded.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agort2500usb: truly disable encryption when initialize
Stanislaw Gruszka [Tue, 27 Jul 2010 14:48:17 +0000 (10:48 -0400)]
rt2500usb: truly disable encryption when initialize

Without cipher part nullify of TXRX_CSR0 register we can receive
corrupted frames (removed IV or IVC), after reloading rt2500usb module
with nohwcrypt=1 option, if previous some keys were configured into
the hardware.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agort2500usb: write keys to proper registers
Stanislaw Gruszka [Tue, 27 Jul 2010 14:48:10 +0000 (10:48 -0400)]
rt2500usb: write keys to proper registers

Fix rt2500usb hardware encryption broken by commit
96b61bafe22b2f2abcc833d651739edb977f1b1e
"rt2x00: Clean up USB vendor request buffer functions"

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: remove unused base_index from rate table.
Senthil Balasubramanian [Tue, 27 Jul 2010 13:46:34 +0000 (19:16 +0530)]
ath9k: remove unused base_index from rate table.

base index is not used anymore and so remove it.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Fix incorrect user ratekbs of MCS15 ShortGI
Senthil Balasubramanian [Tue, 27 Jul 2010 13:46:33 +0000 (19:16 +0530)]
ath9k: Fix incorrect user ratekbs of MCS15 ShortGI

The user ratekbs of MCS15 ShortGI is incorrect and can not be lesser
than MCS15 rate. This incorrect rate may affect switching to higher
rates as the rate control algorithm always finds MCS15 is better
than MCS15 ShortGI and results in lower throughput. Fix this by
feeding the correct user ratekbs for MCS15 ShortGI rate.

This issue affects 3 stream case very badly as the 3 stream rates are
not used at all once we scale down to MCS15 from 3 stream rates.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Add three stream rate control support for AR938X.
Senthil Balasubramanian [Tue, 27 Jul 2010 13:46:32 +0000 (19:16 +0530)]
ath9k: Add three stream rate control support for AR938X.

This patch adds 3 stream rate control support for AR938X family
chipsets which supports 3 streams.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Introduce bit masks for valid and valid_single_stream.
Senthil Balasubramanian [Tue, 27 Jul 2010 13:46:31 +0000 (19:16 +0530)]
ath9k: Introduce bit masks for valid and valid_single_stream.

replace valid and valid_single_stream in rate table with bit masks
and reorganize the code so adding 3x3 rate control would be easier.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>