Giuseppe Cavallaro [Sat, 29 Nov 2008 00:24:56 +0000 (16:24 -0800)]
phy: power management support
This patch adds the power management support into the physical
abstraction layer.
Suspend and resume functions respectively turns on/off the bit 11
into the PHY Basic mode control register.
Generic PHY device starts supporting PM.
In order to support the wake-on LAN and avoid to put in power down
the PHY device, the MDIO is aware of what the Ethernet device wants to do.
Voluntary, no CONFIG_PM defines were added into the sources.
Also generic suspend/resume functions are exported to allow
other drivers use them (such as genphy_config_aneg etc.).
Within the phy_driver_register function, we need to remove the
memset. It overrides the device driver owner and it is not good.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Giuseppe Cavallaro [Sat, 29 Nov 2008 00:14:12 +0000 (16:14 -0800)]
phy: add natsemi PHY driver
This patch adds the PHY device driver for the National Semiconductor
DP83865 Gig PHYTER.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ilpo Järvinen [Fri, 28 Nov 2008 23:55:00 +0000 (15:55 -0800)]
ne2: silence static never defined warnings
These warning originate from
50014f1 (ne2: convert to
net_device_ops) which did drop those functions.
drivers/net/ne2.c:140: warning: 'ne_open' declared 'static' but never defined
drivers/net/ne2.c:141: warning: 'ne_close' declared 'static' but never defined
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ilpo Järvinen [Fri, 28 Nov 2008 23:52:43 +0000 (15:52 -0800)]
bnx2: use net_device_stats nowadays available in net_device
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ilpo Järvinen [Fri, 28 Nov 2008 23:52:00 +0000 (15:52 -0800)]
niu: use net_device_stats nowadays available in net_device
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Hannes Eder [Fri, 28 Nov 2008 11:06:46 +0000 (03:06 -0800)]
pkt_sched: fix sparse warning
Impact: make global function static
Fix the following sparse warning:
net/sched/sch_api.c:192:14: warning: symbol 'qdisc_match_from_root' was not declared. Should it be static?
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Fri, 28 Nov 2008 11:05:19 +0000 (03:05 -0800)]
netlink: allow empty nested attributes
validate_nla() currently doesn't allow empty nested attributes. This
makes userspace code unnecessarily complicated when starting and ending
the nested attribute is done by generic upper level code and the inner
attributes are dumped by a module.
Add a special case to accept empty nested attributes. When the nested
attribute is non empty, the same checks as before are performed.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 28 Nov 2008 10:19:15 +0000 (02:19 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/kaber/nf-next-2.6
Conflicts:
net/netfilter/nf_conntrack_netlink.c
Harvey Harrison [Fri, 28 Nov 2008 07:04:13 +0000 (23:04 -0800)]
decnet: compile fix for removal of byteorder wrapper
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Thu, 27 Nov 2008 23:34:07 +0000 (15:34 -0800)]
ixgbe: section fixes
ixgbe_init_interrupt_scheme() is called from ixgbe_resume(). Build that
with CONFIG_PM and without CONFIG_HOTPLUG and you've got a problem.
Several helpers called by it also are misannotated __devinit.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Randy Dunlap [Thu, 27 Nov 2008 23:30:53 +0000 (15:30 -0800)]
sctp: fix missing label when PROC_FS=n
Fix missing label when CONFIG_PROC_FS=n:
net/sctp/protocol.c: In function 'sctp_proc_init':
net/sctp/protocol.c:106: error: label 'out_nomem' used but not defined
make[3]: *** [net/sctp/protocol.o] Error 1
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Duyck [Thu, 27 Nov 2008 08:24:37 +0000 (00:24 -0800)]
igb: Add support for pci-e Advanced Error Reporting
Add the calls necessary to enable advanced error reporting for igb on
systems with AER enabled.
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>
Jeff Kirsher [Thu, 27 Nov 2008 08:23:37 +0000 (00:23 -0800)]
e100: cleanup link up/down messages
The system log messages created on a link status change need to follow a
specific format to work with tools some customers use. This also makes
the messages consistant with other Intel driver link messages.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Kirsher [Thu, 27 Nov 2008 08:23:12 +0000 (00:23 -0800)]
ixgb: cleanup link up/down messages
The system log messages created on a link status change need to follow a
specific format to work with tools some customers use. This also makes
the messages consistant with other Intel driver link messages.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Kirsher [Thu, 27 Nov 2008 08:22:45 +0000 (00:22 -0800)]
e1000: cleanup link up/down messages
The system log messages created on a link status change need to follow a
specific format to work with tools some customers use. This also makes
the messages consistant with other Intel driver link messages.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Kirsher [Thu, 27 Nov 2008 08:22:21 +0000 (00:22 -0800)]
ixgbe: cleanup link up/down messages
The system log messages created on a link status change need to follow a
specific format to work with tools some customers use. This also makes
the messages consistant with other Intel driver link messages.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Duyck [Thu, 27 Nov 2008 08:21:39 +0000 (00:21 -0800)]
igb: link up/down messages must follow a specific format
The system log messages created on a link status change need to follow a
specific format to work with tools some customers use.
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>
Harvey Harrison [Thu, 27 Nov 2008 08:12:47 +0000 (00:12 -0800)]
decnet: remove private wrappers of endian helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Reviewed-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 27 Nov 2008 07:48:40 +0000 (23:48 -0800)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/hp-plus.c
drivers/net/wireless/ath5k/base.c
drivers/net/wireless/ath9k/recv.c
net/wireless/reg.c
Divy Le Ray [Wed, 26 Nov 2008 23:38:36 +0000 (15:38 -0800)]
cxgb3: Update FW loading path.
Update FW loading path to accomodate in-kernel images location
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Divy Le Ray [Wed, 26 Nov 2008 23:37:50 +0000 (15:37 -0800)]
cxgb3: integrate FW and protocol engines in the kernel
Include firmware and protocol images in the kernel image if requested
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Divy Le Ray [Wed, 26 Nov 2008 23:35:59 +0000 (15:35 -0800)]
cxgb3: avoid potential memory leak.
Add consistency in alloc_ring() parameter checking
to avoid potential memory leaks.
alloc_ring() callers are correct fo far.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Divy Le Ray [Wed, 26 Nov 2008 23:35:26 +0000 (15:35 -0800)]
cxgb3: set hard_xmit in the netdev_ops
Fix t3_eth_xmit() missing into the netdev_ops structure.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 26 Nov 2008 23:28:40 +0000 (15:28 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6
Jarek Poplawski [Wed, 26 Nov 2008 23:24:32 +0000 (15:24 -0800)]
pkt_sched: gen_estimator: Optimize gen_estimator_active()
Since all other gen_estimator functions use bstats and rate_est params
together, and searching for them is optimized now, let's use this also
in gen_estimator_active(). The return type of gen_estimator_active()
is changed to bool, and gen_find_node() parameters to const, btw.
In tcf_act_police_locate() a check for ACT_P_CREATED is added before
calling gen_estimator_active().
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
John W. Linville [Tue, 25 Nov 2008 21:47:36 +0000 (16:47 -0500)]
mac80211_hwsim: fix-up some print_mac merge damage
Some print_mac -> %pM conversions got lost in some merge or another...
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivan Kuten [Mon, 24 Nov 2008 20:17:54 +0000 (15:17 -0500)]
mac80211: fix unaligned access in ieee80211_wep_encrypt_data
Signed-off-by: Ivan Kuten <ivan.kuten@promwad.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Christian Lamparter [Mon, 24 Nov 2008 13:52:51 +0000 (14:52 +0100)]
p54: fix wmm queue settings
This patch fixes a regression (introduced by
"p54: more definitions form lmac_longbow.h and pda.h")
It turned out that the "ret" variable wasn't initialized and
this caused the following warnings/errors to appear:
wmaster1: failed to set TX queue parameters for queue 2
wmaster1: failed to set TX queue parameters for queue 3
wmaster1: failed to set TX queue parameters for queue 1
wmaster1: failed to set TX queue parameters for queue 0
Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Mon, 24 Nov 2008 06:38:35 +0000 (12:08 +0530)]
ath9k: Use proper TX channel width for setting channels
The TX channel width of the BSS can be obtained only after association.
In all cases, default to HT20 if HT is enabled, and set
chan width to HT40 only if the BSS supports it.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Mon, 24 Nov 2008 06:37:55 +0000 (12:07 +0530)]
ath9k: Code scrub
Merge core.c and base.c
Remove Antenna Diversity (unused now).
Remove unused chainmask handling code.
Comment, indentation scrub.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Sat, 22 Nov 2008 20:00:31 +0000 (22:00 +0200)]
nl80211: Change max TX power to be in mBm instead of dBm
In order to be consistent with NL80211_ATTR_POWER_RULE_MAX_EIRP,
change NL80211_FREQUENCY_ATTR_MAX_TX_POWER to use mBm and U32 instead
of dBm and U8. This is a userspace interface change, but the previous
version had not yet been pushed upstream and there are no userspace
programs using this yet, so there is justification to get this change in
as long as it goes in before the previous version gets out.
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Kilroy [Sat, 22 Nov 2008 10:37:28 +0000 (10:37 +0000)]
orinoco: Provide option to avoid unnecessary fw caching
Make firmware caching on startup optional, and make it default.
When the option is not selected and PM_SLEEP is configured, then
cache firmware in the suspend pm_notifier. This configuration saves
about 64k RAM in normal use, but can lead to a situation where the
driver is configured to use a different firmware.
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Kilroy [Sat, 22 Nov 2008 10:37:27 +0000 (10:37 +0000)]
orinoco: Resume spectrum_cs in the same way as orinoco_cs
Retrieval of external firmware has been resolved, and should work with
the standard orinoco resume algorithm.
This fixes an issue where priv->hw_unavailable indicates the card is
ready when firmware has not been loaded.
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Kilroy [Sat, 22 Nov 2008 10:37:26 +0000 (10:37 +0000)]
orinoco: Cache Symbol firmware
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David Kilroy [Sat, 22 Nov 2008 10:37:25 +0000 (10:37 +0000)]
orinoco: Separate fw caching from download
This refactorring will make it easier to share logic with Symbol
firmware.
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luis R. Rodriguez [Sat, 22 Nov 2008 01:41:33 +0000 (17:41 -0800)]
ath9k: Handle -ENOMEM on RX gracefully
We would get an oops on RX on -ENOMEM by passing
NULL to the hardware on ath_rx_buf_link(). The oops
would look something like this:
ath_rx_tasklet+0x515/0x53b
ath9k_tasklet+0x48
tasklet_action
__do_softirq
irq_exit
do_IRQ
RIP: ath_rx_buf_link+0x3a
We correct this by handling the requeue directly on
the ath_rx_tasklet() and trying to allocate an skb
*prior* to sending up the last hardware processed
skb. If we run out of memory this gauranteees we have
skbs to work with while it simply drops new received
frames.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Henrique de Moraes Holschuh [Fri, 21 Nov 2008 22:40:10 +0000 (20:40 -0200)]
rfkill: always call get_state() hook on resume
We "optimize" away the get_state() hook call on rfkill_toggle_radio
when doing a forced state change. This means the resume path is not
calling get_state() as it should.
Call it manually on the resume handler, as we don't want to mess with
the EPO path by removing the optimization. This has the added benefit
of making it explicit that rfkill->state could have been modified
before we hit the rfkill_toggle_radio() call in the class resume
handler.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Henrique de Moraes Holschuh [Fri, 21 Nov 2008 22:40:09 +0000 (20:40 -0200)]
rfkill: preserve state across suspend
The rfkill class API requires that the driver connected to a class
call rfkill_force_state() on resume to update the real state of the
rfkill controller, OR that it provides a get_state() hook.
This means there is potentially a hidden call in the resume code flow
that changes rfkill->state (i.e. rfkill_force_state()), so the
previous state of the transmitter was being lost.
The simplest and most future-proof way to fix this is to explicitly
store the pre-sleep state on the rfkill structure, and restore from
that on resume.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vivek Natarajan [Sat, 22 Nov 2008 06:19:50 +0000 (22:19 -0800)]
mac80211: Look out for some other AP when disassoc is received.
When a disassoc packet is received from the AP with a reason code of
'leaving the BSS', mac80211 should go into DISABLED state just as it
would do if the AP suddenly went away for some reason, as that is what
will happen shortly after the AP leaves anyway.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Fri, 21 Nov 2008 17:01:30 +0000 (19:01 +0200)]
nl80211: Report max TX power in NL80211_BAND_ATTR_FREQS
This is useful information to provide for userspace (e.g., hostapd needs
this to generate Country IE).
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 20 Nov 2008 14:16:22 +0000 (15:16 +0100)]
ath5k: Clean up eeprom parsing and add missing calibration data
This patch brings the ath5k eeprom parsing code in sync with the work
done on ath_info by Nick Kossifidis and integrates the missing parts
based on the code of the Atheros Legacy HAL release.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vasanthakumar Thiagarajan [Thu, 20 Nov 2008 06:21:18 +0000 (11:51 +0530)]
ath9k: Dont update rate control for every AMPDU
Update the rate control only with the tx status of first
AMPDU of an aggregation. This patch fixes frequent drops
in throughput.
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Winkler, Tomas [Wed, 19 Nov 2008 23:32:27 +0000 (15:32 -0800)]
iwlwifi: TX update chicken bits
This instructs FH to increment the retry count of a packet when
it is brought from the memory to TX-FIFO to save transactions
during aggregation flow.
Signed-off-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>
Winkler, Tomas [Wed, 19 Nov 2008 23:32:26 +0000 (15:32 -0800)]
iwlwifi: TX setup fix confusion between TX queue and TX DMA channel
This patch configures correctly TX DMA channel. It is not
the same as TX queue.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-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>
Winkler, Tomas [Wed, 19 Nov 2008 23:32:25 +0000 (15:32 -0800)]
iwlwifi: 4965 define firmware file name once
Apply same idiom as in 5000 introduced by
'iwlwifi: define firmware file name once'
Signed-off-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>
Tomas Winkler [Wed, 19 Nov 2008 23:32:24 +0000 (15:32 -0800)]
iwlwifi: enable base band calibration in 5000 HW
This patch adds base band calibration support.
Signed-off-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>
Winkler, Tomas [Wed, 19 Nov 2008 23:32:23 +0000 (15:32 -0800)]
iwlwifi: move iwl_clear_stations_table to iwl-sta.c
This patch moves iwl_clear_stations_table into iwl-sta.c
Signed-off-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>
Abhijeet Kolekar [Wed, 19 Nov 2008 23:32:22 +0000 (15:32 -0800)]
iwl3945 : Fix ad-hoc mode for 3945
Patch fixes the ad-hoc mode by
1) Removing redundant clear_stations_table which prevented generation of
beacons.
2) Setting assoc_id to 1. It was never set so preventing tx flow
in iwl3945_tx_skb.
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>
Bob Copeland [Tue, 18 Nov 2008 04:40:38 +0000 (23:40 -0500)]
ath5k: set mac address in add_interface
Configure the mac address in add_interface and clear it in
remove_interface so that users can change the mac address
to something other than the one in the eeprom. Also avoid
setting it at attach time so that we won't ack packets
until fully set up.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:40:42 +0000 (09:10 +0530)]
ath9k: Use straightforward PCI routines to setup the TX buffer.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:40:22 +0000 (09:10 +0530)]
ath9k: Update TX trigger level on a FIFO underrun.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:39:54 +0000 (09:09 +0530)]
ath9k: Fix bug in deciphering channel flags
CHANNEL_CCK flag is set for all 2 Ghz channels, so IS_CHAN_CCK() would
turn out to be true for all channles in that band.
Use IS_CHAN_B() now, which checks the channel mode and not the channel
flags.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:39:30 +0000 (09:09 +0530)]
ath9k: Move TX completion routine to xmit.c
Also, use a helper function to setup RC status data
when processing completed TX descriptors.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:38:33 +0000 (09:08 +0530)]
ath9k: Use helpers
Break down huge functions, use helper functions or
macros instead.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:38:13 +0000 (09:08 +0530)]
ath9k: General code scrub
Replace TRUE/FALSE macros with VALID/INVALID macros.
Follow a consistent variable convention.
Remove unnecessary comments.
Add all RC phy macros into a single enum.
Merge functions into reasonably sized entities.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:37:53 +0000 (09:07 +0530)]
ath9k: Remove ath9k_rate_table
Maintaining two sets of rate tables is redundant, remove one
and use struct ath_rate_table exclusively.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:37:30 +0000 (09:07 +0530)]
ath9k: Use rate_driver_data
Remove the hack using vif, and use rate_driver_data within
skb->cb to hold driver specific rate information.
Setup the rate series in the skb's tx control area and remove
all references to ath9k specific rate series ( using struct ath_rc_series ).
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:37:06 +0000 (09:07 +0530)]
ath9k: Remove ath_rate_softc
Move the hw rate tables to ath_softc, and access them directly.
tx_triglevel_max is global, move it to ath_rate_node.
Now that ath_rate_softc is gone, rate control attach becomes simpler.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:36:44 +0000 (09:06 +0530)]
ath9k: Remove rate control reference in VAP
Rate control init is now confined to itself, using the
HT capabilites of the STA from rate_init().
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:36:18 +0000 (09:06 +0530)]
ath9k: We don't support non-HT devices, so remove superfluous code.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:35:55 +0000 (09:05 +0530)]
ath9k: Revamp RX handling
Remove a lot of old, crufty code and make
RX status reporting a bit sane and clean.
Do not do anything to the RX skb before unmapping.
So in ath_rx_tasklet(), move the skb_put() after PCI unmap.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:35:35 +0000 (09:05 +0530)]
ath9k: Nuke fixed rate handling in driver
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:35:13 +0000 (09:05 +0530)]
ath9k: Remove half/quarter rate tables
Half/Quarter rate tables are needed only for legacy chipsets.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:34:21 +0000 (09:04 +0530)]
ath9k: Remove ath_rate_newassoc()
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:34:00 +0000 (09:04 +0530)]
ath9k: Remove ath_setup_rates
Setup legacy rates in ath_rate_init() itself.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:33:36 +0000 (09:03 +0530)]
ath9k: Simplify RC alloc/free functions
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Sujith [Tue, 18 Nov 2008 03:33:12 +0000 (09:03 +0530)]
ath9k: Merge struct ath_tx_ratectrl with ath_rate_node
Avoid casting of ath_tx_ratctrl and access the elements directly.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vasanthakumar Thiagarajan [Mon, 17 Nov 2008 19:49:56 +0000 (01:19 +0530)]
ath9k: Fix panic while unregistering rfkill
[ 6133.670329] BUG: unable to handle kernel NULL pointer dereference at
0000000000000010
[ 6133.672802] IP: [<
ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
[ 6133.672802] PGD
759dc067 PUD
74f1d067 PMD 0
[ 6133.672802] Oops: 0002 [#1] PREEMPT SMP
[ 6133.672802] last sysfs file: /sys/class/backlight/acpi_video0/brightness
[ 6133.672802] CPU 0
[ 6133.672802] Modules linked in: ath9k(-) mac80211 pciehp pci_hotplug arc4 ecb joydev pcmcia ppdev lp ppp_generic psmouse sg pcspkr s]
[ 6133.735830] Pid: 4445, comm: rmmod Tainted: G W 2.6.28-rc5-wl #1
[ 6133.735830] RIP: 0010:[<
ffffffffa030fcf6>] [<
ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
[ 6133.735830] RSP: 0018:
ffff88007d1efd10 EFLAGS:
00010246
[ 6133.735830] RAX:
0000000000000000 RBX:
ffff880074f41aa0 RCX:
0000000000000000
[ 6133.735830] RDX:
0000000000000010 RSI:
0000000000000000 RDI:
ffff880074f40340
[ 6133.735830] RBP:
ffff880074990000 R08:
0000000000000000 R09:
000000000000224d
[ 6133.735830] R10:
0000000000000000 R11:
ffffffff8031dc70 R12:
0000000000000000
[ 6133.735830] R13:
0000000000000001 R14:
ffff880074f46c9c R15:
0000000000000000
[ 6133.735830] FS:
00007f1e2e0bc6f0(0000) GS:
ffffffff805e0b80(0000) knlGS:
0000000000000000
[ 6133.735830] CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
[ 6133.735830] CR2:
0000000000000010 CR3:
0000000075593000 CR4:
00000000000006e0
[ 6133.735830] DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
[ 6133.735830] DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
[ 6133.735830] Process rmmod (pid: 4445, threadinfo
ffff88007d1ee000, task
ffff88007c0c8000)
[ 6133.735830] Stack:
[ 6133.735830]
ffffffffa034d583 ffff88007c7d9410 ffff88007c7d9410 ffff88007c7d9410
[ 6133.735830]
ffffffff80481dab ffff880074f41aa0 00000000fffffff0 0000000000000000
[ 6133.735830]
0000000000000001 0000000000000001 ffffffffa034d8a5 ffff88007c7d9400
[ 6133.735830] Call Trace:
[ 6133.735830] [<
ffffffffa034d583>] ? ath_radio_disable+0x33/0x150 [ath9k]
[ 6133.735830] [<
ffffffff80481dab>] ? __mutex_lock_slowpath+0x20b/0x2a0
[ 6133.735830] [<
ffffffffa034d8a5>] ? ath_sw_toggle_radio+0x65/0xa0 [ath9k]
[ 6133.735830] [<
ffffffffa019d1f4>] ? rfkill_toggle_radio+0x74/0x140 [rfkill]
[ 6133.735830] [<
ffffffffa019d597>] ? rfkill_remove_switch+0x67/0x80 [rfkill]
[ 6133.735830] [<
ffffffffa019d955>] ? rfkill_unregister+0x25/0x50 [rfkill]
[ 6133.735830] [<
ffffffffa034bf75>] ? ath_detach+0xf5/0x140 [ath9k]
[ 6133.735830] [<
ffffffffa034bfe9>] ? ath_pci_remove+0x29/0x80 [ath9k]
[ 6133.735830] [<
ffffffff8035263c>] ? pci_device_remove+0x2c/0x60
[ 6133.735830] [<
ffffffff803c3829>] ? __device_release_driver+0x99/0x100
[ 6133.735830] [<
ffffffff803c3950>] ? driver_detach+0xc0/0xd0
[ 6133.735830] [<
ffffffff803c296e>] ? bus_remove_driver+0x8e/0xd0
[ 6133.735830] [<
ffffffff80352916>] ? pci_unregister_driver+0x36/0xa0
[ 6133.735830] [<
ffffffffa0356ad4>] ? exit_ath_pci+0x10/0x29 [ath9k]
[ 6133.735830] [<
ffffffff8026bb1b>] ? sys_delete_module+0x1cb/0x2d0
[ 6133.735830] [<
ffffffff802960d9>] ? do_munmap+0x349/0x390
[ 6133.735830] [<
ffffffff80342d01>] ? __up_write+0x21/0x150
[ 6133.735830] [<
ffffffff8020c45b>] ? system_call_fastpath+0x16/0x1b
[ 6133.735830] Code: c3 0f 1f 40 00 0f b7 57 5e 0f b7 47 5c 01 c2 74 30 31 c9 66 90 48 8b 57 78 0f b7 c1 48 c1 e0 07 48 03 82 00 03 00
[ 6133.735830] RIP [<
ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Mon, 17 Nov 2008 15:08:21 +0000 (09:08 -0600)]
rtl8187: Fix transmission count sent to mac80211
In the commit entitled "mac80211/drivers: rewrite the rate control
API", the meaning of the packet transmit count was changed from the
number of retries to the total number. In driver rtl8187, this change
was missed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Sun, 16 Nov 2008 23:09:25 +0000 (17:09 -0600)]
mac80211: Fix pid rate-setting algorithm to allow rate changes
In commit
9ea2c74 named "mac80211/drivers: rewrite the rate control API",
the meaning of status.rates[i].count was changed from number of retries
to total number of tries. As a result, the pid rate-setting algorithm fails
because every packet appears to have needed a retransmit.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 15 Nov 2008 23:08:50 +0000 (00:08 +0100)]
rt2x00: Don't switch off LED on initialization
When we switch off the LEDS during initialization
we kill rt73usb from proper functioning. The immediate
result after the first LED command are MCU failures
and a complete breakdown of TX/RX.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Andrey Borzenkov [Sat, 15 Nov 2008 14:15:09 +0000 (17:15 +0300)]
orinoco: indicate it is using dBm in wireless_stats and spy
Since WE7 /proc/net/wireless checks whether level and noise are in dBm
and shows them accordingly. Indicate that we return signal and noice
levels in dBm.
Before:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
eth1: 0000 65. 219. 165. 0 0 148 41 0 0
After:
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
eth1: 0000 65. -37. -91. 0 0 0 0 0 0
While at it, replace raw numbers with appropriate macro.
Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luis R. Rodriguez [Sat, 15 Nov 2008 01:44:53 +0000 (17:44 -0800)]
mac80211: make Minstrel the default rate control algorithm
This makes minstrel the default rate control algorithm
for mac80211. For more information see:
http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel
If someone can come up with a better algorithm they get a prize
(undisclosed).
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Patrick McHardy [Wed, 26 Nov 2008 11:57:44 +0000 (03:57 -0800)]
netfilter: ctnetlink: fix GFP_KERNEL allocation under spinlock
The previous fix for the conntrack creation race (netfilter: ctnetlink:
fix conntrack creation race) missed a GFP_KERNEL allocation that is
now performed while holding a spinlock. Switch to GFP_ATOMIC.
Reported-and-tested-by: Zoltan Borbely <bozo@andrews.hu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 26 Nov 2008 09:52:15 +0000 (01:52 -0800)]
smc-mca: Fix build failure due to typo.
ultra_netdev_ops --> ultramca_netdev_ops
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 26 Nov 2008 09:17:01 +0000 (01:17 -0800)]
sungem: Fix PCS_MIICTRL register write in gem_init_phy().
Use writel not writeb.
Noticed by Hermann Lauer.
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet [Wed, 26 Nov 2008 09:08:18 +0000 (01:08 -0800)]
net: release skb->dst in sock_queue_rcv_skb()
When queuing a skb to sk->sk_receive_queue, we can release its dst,
not anymore needed. Since current cpu did the dst_hold(), refcount is
probably still hot int this cpu caches.
This avoids readers to access the original dst to decrement its
refcount, possibly a long time after packet reception. This should
speedup UDP and RAW receive path.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet [Wed, 26 Nov 2008 05:17:14 +0000 (21:17 -0800)]
net: Use a percpu_counter for orphan_count
Instead of using one atomic_t per protocol, use a percpu_counter
for "orphan_count", to reduce cache line contention on
heavy duty network servers.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet [Wed, 26 Nov 2008 05:16:35 +0000 (21:16 -0800)]
net: Use a percpu_counter for sockets_allocated
Instead of using one atomic_t per protocol, use a percpu_counter
for "sockets_allocated", to reduce cache line contention on
heavy duty network servers.
Note : We revert commit (
248969ae31e1b3276fc4399d67ce29a5d81e6fd9
net: af_unix can make unix_nr_socks visbile in /proc),
since it is not anymore used after sock_prot_inuse_add() addition
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 05:14:06 +0000 (21:14 -0800)]
tc: policing requires a rate estimator
Found that while trying average rate policing, it was possible to
request average rate policing without a rate estimator. This results
in no policing which is harmless but incorrect.
Since policing could be setup in two steps, need to check
in the kernel.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 05:13:31 +0000 (21:13 -0800)]
tc: check for errors in gen_rate_estimator creation
The functions gen_new_estimator and gen_replace_estimator can return
errors, but they were being ignored.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 05:12:32 +0000 (21:12 -0800)]
tc: propogate errors from tcf_hash_create
Allow tcf_hash_create to return different errors on estimator failure.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arjan van de Ven [Wed, 26 Nov 2008 05:08:13 +0000 (21:08 -0800)]
net: make skb_truesize_bug() call WARN()
The truesize message check is important enough to make it print "BUG"
to the user console... lets also make it important enough to spit a
backtrace/module list etc so that kerneloops.org can track them.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Randy Dunlap [Wed, 26 Nov 2008 05:05:51 +0000 (21:05 -0800)]
net: hp-plus uses eip_poll
hp-plus uses 8390p.c, so it should use eip_poll(), not ei_poll().
drivers/built-in.o: In function `hpp_probe1':
hp-plus.c:(.init.text+0x9cbd): undefined reference to `ei_poll'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:26:38 +0000 (18:26 -0800)]
ne2000: convert to net_device_ops
Last driver for today.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:26:20 +0000 (18:26 -0800)]
3c503: convert to net_device_ops
Another of the 8390p group.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:25:49 +0000 (18:25 -0800)]
stnic: convert to net_device_ops
Can just use common ei_netdev_ops definition.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:25:32 +0000 (18:25 -0800)]
apne: convert to net_device_ops
Yet another driver.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:25:14 +0000 (18:25 -0800)]
ne2: convert to net_device_ops
Almost there.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:24:57 +0000 (18:24 -0800)]
hp: convert to net_device_ops
Another old EISA driver converted.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:24:38 +0000 (18:24 -0800)]
lne390: convert to net_device_ops
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:24:20 +0000 (18:24 -0800)]
e2100: convert to net_device_ops
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:23:59 +0000 (18:23 -0800)]
es3210: convert to net_device_ops
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:23:35 +0000 (18:23 -0800)]
ne3210: convert to net_device_ops
By having common code in 8390.o don't need net_dev_ops in
the driver.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:23:06 +0000 (18:23 -0800)]
smc: convert to net_device_ops
Convert both eisa and mca versions of this driver, though I doubt
anyone still has the hardware.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:22:42 +0000 (18:22 -0800)]
hp-plus: convert to net_device_ops
Another driver converted to new infrastructure.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:21:56 +0000 (18:21 -0800)]
wd: use net_device_ops
Another driver converted to net_device_ops; Compile tested only.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 26 Nov 2008 02:12:49 +0000 (18:12 -0800)]
8390: add common net_device ops
Fix the defactoring of ei_XXX functions in 8390 and 8390p.
Remove the tx_timeout hack since no driver including the 3c503
overrides tx_timeout at this time, looks like a legacy thing.
Also, since several drivers all have same hooks, provide common
netdev_ops.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexey Dobriyan [Wed, 26 Nov 2008 02:00:48 +0000 (18:00 -0800)]
netns xfrm: per-netns sysctls
Make
net.core.xfrm_aevent_etime
net.core.xfrm_acq_expires
net.core.xfrm_aevent_rseqth
net.core.xfrm_larval_drop
sysctls per-netns.
For that make net_core_path[] global, register it to prevent two
/proc/net/core antries and change initcall position -- xfrm_init() is called
from fs_initcall, so this one should be fs_initcall at least.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexey Dobriyan [Wed, 26 Nov 2008 02:00:14 +0000 (18:00 -0800)]
netns xfrm: /proc/net/xfrm_stat in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>