Vivek Natarajan [Wed, 25 Nov 2009 06:31:54 +0000 (12:01 +0530)]
ath9k: Ensure a fair beacon distribution in IBSS mode.
Update the beacon queue parameters with best effort queue parameters for
IBSS mode. This reduces the number of beacons generated by ath9k and
ensures a fair beacon distribution when there are multiple IBSS stations.
Also CWmin is quadrupled to achieve the expected percentage of
distribution.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luis R. Rodriguez [Wed, 25 Nov 2009 02:37:57 +0000 (21:37 -0500)]
ath9k: Fix maximum tx fifo settings for single stream devices
Atheros single stream AR9285 and AR9271 have half the PCU TX FIFO
buffer size of that of dual stream devices. Dual stream devices
have a max PCU TX FIFO size of 8 KB while single stream devices
have 4 KB. Single stream devices have an issue though and require
hardware only to use half of the amount of its capable PCU TX FIFO
size, 2 KB and this requires a change in software.
Technically a change would not have been required (except for frame
burst considerations of 128 bytes) if these devices would have been
able to use the full 4 KB of the PCU TX FIFO size but our systems
engineers recommend 2 KB to be used only. We enforce this through
software by reducing the max frame triggger level to 2 KB.
Fixing the max frame trigger level should then have a few benefits:
* The PER will now be adjusted as designed for underruns when the
max trigger level is reached. This should help alleviate the
bus as the rate control algorithm chooses a slower rate which
should ensure frames are transmitted properly under high system
bus load.
* The poll we use on our TX queues should now trigger and work
as designed for single stream devices. The hardware passes
data from each TX queue on the PCU TX FIFO queue respecting each
queue's priority. The new trigger level ensures this seeding of
the PCU TX FIFO queue occurs as designed which could mean avoiding
false resets and actually reseting hw correctly when a TX queue
is indeed stuck.
* Some undocumented / unsupported behaviour could have been triggered
when the max trigger level level was being set to 4 KB on single
stream devices. Its not clear what this issue was to me yet.
Cc: Kyungwan Nam <kyungwan.nam@atheros.com>
Cc: Bennyam Malavazi <bennyam.malavazi@atheros.com>
Cc: Stephen Chen <stephen.chen@atheros.com>
Cc: Shan Palanisamy <shan.palanisamy@atheros.com>
Cc: Paul Shaw <paul.shaw@atheros.com>
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Benoit Papillault [Tue, 24 Nov 2009 14:49:18 +0000 (15:49 +0100)]
ath9k: Proper padding/unpadding for the TX/RX path.
Software padding is done on the TX path and software unpadding is done on the
RX path. This patch corrects the position where the padding occurs. A specific
function computes the pad position and this function is used in the TX and RX
path. This patch has been tested by generating every possible 802.11 frames
with every possible frame_control field and a varying length. This patch is
useful for analyzing non standard 802.11 frames going over the air
Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luis R. Rodriguez [Tue, 24 Nov 2009 07:53:25 +0000 (02:53 -0500)]
ath9k: fix processing of TX PS null data frames
When mac80211 was telling us to go into Powersave we listened
and immediately turned RX off. This meant hardware would not
see the ACKs from the AP we're associated with and hardware
we'd end up retransmiting the null data frame in a loop
helplessly.
Fix this by keeping track of the transmitted nullfunc frames
and only when we are sure the AP has sent back an ACK do we
go ahead and shut RX off.
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Vivek Natarajan <Vivek.Natarajan@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:33 +0000 (11:33 +0800)]
iwmc3200wifi: Remove tx concatenation option
The tx concatenation option works fine now, we no longer need the debugging
option of disabling concatenation.
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>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:32 +0000 (11:33 +0800)]
iwmc3200wifi: Add stopped queue to debugfs
We add the stopped queue count and display to the tx queue debugfs entry.
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>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:31 +0000 (11:33 +0800)]
iwmc3200wifi: 802.11n Tx aggregation support
To support 802.11n Tx aggregation support with iwmc3200 wifi, we have to
handle the UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification from the UMAC.
Before sending an AddBA, the UMAC synchronizes with the host in order to
know what is the last Tx frame it's supposed to receive before it will be
able to start the actual aggregation session.
We thus have to keep track of the last sequence number that is scheduled
for transmission on a particular RAxTID, send an answer to the UMAC with
this sequence number. The UMAC then does the BA negociation and once it's
done with it sends a new UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification
to let us know that we can resume the Tx flow on the specified RAxTID.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Reviewed-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Zhu Yi [Tue, 24 Nov 2009 03:33:30 +0000 (11:33 +0800)]
iwmc3200wifi: Set wireless mode correctly
Set the wireless mode with regard to both the driver's configuration
and the device's EEPROM result.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:29 +0000 (11:33 +0800)]
iwmc3200wifi: Update wireless_mode with eeprom values
The iwmc3200wifi eeprom contains information about the available PHYs on
the chip. We should update our wireless_mode setting and profile according
to it.
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>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:28 +0000 (11:33 +0800)]
iwmc3200wifi: Dont set the UMAC power limit when interface is down
When we're down, we shouldnt try to set the UMAC power limit. We just return 0
instead, and cfg80211 toggles the soft rfkill state.
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>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:27 +0000 (11:33 +0800)]
iwmc3200wifi: Parse HT channels EEPROM entries
The fat channels eeprom entries let us know if 11n is enabled or not. We
update our wiphy supported bands based on that.
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>
Samuel Ortiz [Tue, 24 Nov 2009 03:33:26 +0000 (11:33 +0800)]
MAINTAINERS: Add iwmc3200wifi entry
Update MAINTAINERS with the Intel supported iwmc3200wifi entry.
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>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:52 +0000 (22:44 +0100)]
rt2x00: Centralize setting of extra TX headroom requested by rt2x00.
Set the value of extra_tx_headroom in a central place, rather than in each
of the drivers. This is preparatory for taking alignment space into account
in the TX headroom requested by rt2x00.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:51 +0000 (22:44 +0100)]
rt2x00: Whitespace cleanup.
Clean up the use of whitespace in the initialization of the rt2x00_ops
structures. This is preparatory for a later patch that adds members
to that structure, which require different whitespace alignment.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:50 +0000 (22:44 +0100)]
rt2x00: Fix typo (lengt --> length) in rt2x00queue.c
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <ivdoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:49 +0000 (22:44 +0100)]
rt2x00: Clean up use of rt2x00_intf_is_pci.
RT chipsets are unique across both PCI and USB busses, and don't overlap.
Therefore there is no need to test for bus type when only checking for
chipset type. Remove the redundant checks.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <ivdoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:48 +0000 (22:44 +0100)]
rt2x00: Remove unused variable frame_control from rt2x00mac_tx.
As additional fallout also remove the also unused variable ieee80211hdr.
Reported-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <ivdoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Mon, 23 Nov 2009 21:44:47 +0000 (22:44 +0100)]
rt2x00: Only initialize HT on rt2800 devices that support it.
Some RT28xx/RT30xx devices don't support 802.11n, when they are combined with
the RF2020 chipset. Ensure that HT is disabled for these devices.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho [Mon, 23 Nov 2009 21:22:19 +0000 (23:22 +0200)]
wl1271: Remove REF_CLK hack
This hack was totally wrong and was "needed" because of a problem in the way
we were sending the GENERAL_PARMS command to the firmware. Now that that
problem has been fixed, this hack can be removed.
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho [Mon, 23 Nov 2009 21:22:18 +0000 (23:22 +0200)]
wl1271: remove workaround to ignore -EIO from radio and general params
We were ignoring the -EIO return value from wl1271_cmd_radio_params() and
wl1271_cmd_general_params(), because they were always returning an error and
we didn't know why. Now this has been fixed, so the workaround can be
removed.
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho [Mon, 23 Nov 2009 21:22:17 +0000 (23:22 +0200)]
wl1271: fix radio and general parameters commands
We were missing the command header in the radio and general parameters
commands. This was causing them to fail, resulting in problems in the power
levels and other PLT-related commands.
Also reorganized the command functions, moving from wl1271_init.c to
wl1271_cmd.c where it fits better.
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho [Mon, 23 Nov 2009 21:22:16 +0000 (23:22 +0200)]
wl1271: set radio and general params also for PLT
We need to set the radio and general parameters when starting PLT mode. This
patch adds calls to TEST_CMD_INI_RADIO_PARAMS and
TEST_CMD_INIT_GENERAL_PARAMS when initializing PLT mode.
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho [Mon, 23 Nov 2009 21:22:15 +0000 (23:22 +0200)]
wl1271: fix the inetdev notifier callback return values
The wl1271_dev_notify() was returning 0 or -ENODEV, when it should return
NOTIFY_* instead. Now we use NOTIFY_DONE when we didn't handle the event or
NOTIFY_OK when we have handled it.
For inetdev notifications, it doesn't matter whether we use NOTIFY_DONE or
NOTIFY_OK, because it ignores the return value of the call to
blocking_notifier_call_chain(). But the notify.h header says that
NOTIFY_DONE is "Don't care" and NOTIFY_OK is "Suits me", so that seems to be
the right way to do it.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Juuso Oikarinen [Mon, 23 Nov 2009 21:22:14 +0000 (23:22 +0200)]
wl1271: Set PSM support flags in driver configuration
Set the PSM support flag in the device configuration
for the mac80211 stack. This will enable usage of powersave.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Juuso Oikarinen [Mon, 23 Nov 2009 21:22:13 +0000 (23:22 +0200)]
wl1271: Prevent PSM-entry retry loop if PSM cancelled
Prevent endless PSM-entry retry loops, if PSM has already been cancelled while
PSM entry was attempted.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Juuso Oikarinen [Mon, 23 Nov 2009 21:22:12 +0000 (23:22 +0200)]
wl1271: Decrease BET consecutive terminated beacons value to 10
Decrease the consecutive terminated beacons value for BET from 100 to 10.
According to the vendor, 10 will give a more reliable connection and more
reliable detection of connection problems.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Mon, 23 Nov 2009 21:22:27 +0000 (22:22 +0100)]
ath9k: clean up rc rate table
Remove some fields from struct ath_rate_table that are now unused.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Mon, 23 Nov 2009 21:21:01 +0000 (22:21 +0100)]
ath9k: properly use the mac80211 rate control api
This patch changes ath9k to pass proper MCS indexes and flags
between the RC and the rest of the driver code.
sc->cur_rate_table remains, as it's used by the RC code internally,
but the rest of the driver code no longer uses it, so a potential
new RC for ath9k would not have to update it.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Fri, 13 Nov 2009 18:12:59 +0000 (13:12 -0500)]
ath9k: remove warnings related to signed/unsigned type mismatch
CC [M] drivers/net/wireless/ath/ath9k/recv.o
drivers/net/wireless/ath/ath9k/recv.c: In function `ath_rx_prepare':
drivers/net/wireless/ath/ath9k/recv.c:208: warning: comparison is always true due to limited range of data type
drivers/net/wireless/ath/ath9k/recv.c:220: warning: comparison is always false due to limited range of data type
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Eric Dumazet [Thu, 5 Nov 2009 10:06:40 +0000 (11:06 +0100)]
mac80211: Speedup ieee80211_remove_interfaces()
Speedup ieee80211_remove_interfaces() by factorizing synchronize_rcu() calls
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David S. Miller [Tue, 24 Nov 2009 23:01:29 +0000 (15:01 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6
Joe Perches [Tue, 24 Nov 2009 22:52:52 +0000 (14:52 -0800)]
net/ipv6: Move && and || to end of previous line
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:08:17 +0000 (16:08 +0000)]
sfc: Log interrupt and reset type names, not numbers
Define name tables for these enumerations in a similar way as for
loopback. Move the loopback name table together with them.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:07:30 +0000 (16:07 +0000)]
sfc: Combine high-level header files
All files that include ethtool.h, rx.h or tx.h are also including
efx.h, and there is no good reason to separate out the few
declarations they contain. Therefore fold them into efx.h.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:07:05 +0000 (16:07 +0000)]
sfc: Remove redundant efx_xmit() function
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:06:47 +0000 (16:06 +0000)]
sfc: Remove unnecessary casts to struct sk_buff *
At some point these casts were used to remove const qualification, but
they are now unneeded.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:06:30 +0000 (16:06 +0000)]
sfc: Gather link state fields in struct efx_nic into new struct efx_link_state
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:06:02 +0000 (16:06 +0000)]
sfc: Move all I2C stuff into struct falcon_board
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:05:45 +0000 (16:05 +0000)]
sfc: Move struct falcon_board into struct falcon_nic_data
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:05:28 +0000 (16:05 +0000)]
sfc: Move definition of struct falcon_nic_data into falcon.h
This is preparation for moving Falcon-specific state required by other
Falcon-specific code.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:05:12 +0000 (16:05 +0000)]
sfc: Make board information explicitly Falcon-specific
Rename struct efx_board to struct falcon_board.
Introduce and use inline function to look up board info from struct
efx_nic, in preparation for moving it.
Move board init and fini calls into NIC probe and remove functions.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:04:23 +0000 (16:04 +0000)]
sfc: Rename efx_board::init_leds to init_phy and use for SFN4111T
efx_board::init_leds was introduced as a second stage of
initialisation because of the inter-dependency between the board and
PHY. We want to move board initialisation into NIC probing, which is
too early to use MDIO, so SFN4111T initialisation also needs to be
split.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:03:45 +0000 (16:03 +0000)]
sfc: Use a single blink implementation
Only some PHYs have firmware support for a LED blink mode, so we
currently blink the others in a timer function. Since all PHYs have
simple on and off modes, we don't gain anything by using multiple
blink implementations. Also, since we have a process context there
is no need to use a timer.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:02:49 +0000 (16:02 +0000)]
sfc: SFT9001: Reset LED configuration correctly after blinking
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:02:40 +0000 (16:02 +0000)]
sfc: Record RX queue number on GRO path
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:02:25 +0000 (16:02 +0000)]
sfc: Move assertions and buffer cleanup earlier in efx_rx_packet_lro()
This removes the need to use a label and goto, and makes the two
branches mirror each other more closely.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:01:55 +0000 (16:01 +0000)]
sfc: Remove ridiculously paranoid assertions
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:01:44 +0000 (16:01 +0000)]
sfc: Remove redundant gotos from __efx_rx_packet()
This function no longer has any common cleanup code.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Mon, 23 Nov 2009 16:01:33 +0000 (16:01 +0000)]
sfc: Remove pointless abstraction of memory BAR number (2)
Finish the job by removing the structure member.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
John W. Linville [Mon, 23 Nov 2009 21:15:19 +0000 (16:15 -0500)]
ath9k: set ps_default as false
Copied from original one-line patch here:
http://bugzilla.kernel.org/show_bug.cgi?id=14267#c26
(This is for 2.6.33 and beyond, where the bool was changed to a flag by
"cfg80211: convert bools into flags". -- JWL)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Mon, 23 Nov 2009 19:58:06 +0000 (20:58 +0100)]
ssb: Fix range check in sprom write
The range check in the sprom image parser hex2sprom() is broken.
One sprom word is 4 hex characters.
This fixes the check and also adds much better sanity checks to the code.
We better make sure the image is OK by doing some sanity checks to avoid
bricking the device by accident.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Mon, 23 Nov 2009 19:12:13 +0000 (20:12 +0100)]
ssb: Fix SPROM writing
The SPROM writing routines were broken since we rewrote the suspend
handling on wireless devices, because SPROM writing depended on suspend.
This patch changes it and freezes devices with the driver remove(), probe()
callbacks instead. This also simplifies the whole logics a lot.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Sun, 22 Nov 2009 18:16:47 +0000 (20:16 +0200)]
rndis_wlan: disable stall workaround
Stall workaround doesn't work with bcm4320a devices like with bcm4320b.
This workaround actually causes more stalls/device freeze on bcm4320a.
Therefore disable stall workaround by default.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Sun, 22 Nov 2009 18:16:42 +0000 (20:16 +0200)]
rndis_wlan: fix buffer overflow in rndis_query_oid
rndis_query_oid overwrites *len which stores buffer size to return full size
of received command and then uses *len with memcpy to fill buffer with
command.
Ofcourse memcpy should be done before replacing buffer size.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jaswinder Singh Rajput [Sun, 22 Nov 2009 08:17:58 +0000 (13:47 +0530)]
mac80211: Fix missing kernel-doc notation
Fix the following htmldocs warnings:
Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk'
Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk'
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:09 +0000 (12:05 -0800)]
iwlwifi: remove reset led_tpt from iwl_leds_init()
Current blinking rate is calculated based on the difference between
current tx/rx byte counts and priv->led_tpt.
priv->led_tpt should not get reset in iwl_leds_init(), this function can be
called by bring interface "up" or "down", or when uCode sysassert occurred.
resetting the led_tpt parameter will introduce incorrect led blinking behavior.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:08 +0000 (12:05 -0800)]
iwlwifi: change message for cmd queue full error
Change error message for command queue full
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:07 +0000 (12:05 -0800)]
iwlwifi: print limited number of event log when uCode error
To help iwlagn uCode debugging, event log will dump to syslog when driver
detect uCode error occurred, but this only happen when compile with
CONFIG_IWLWIFI_DEBUG and debug flag is enabled; which is not always
the case. Also, there is another problem, if the flag is set, the entire
event log buffer will be dump to syslog, it can flood the syslog and
make it very difficult to debug the problem.
Change the default to only dump last 20 entries of event log to syslog
unless the following condition meets:
1. both compile with CONFIG_IWLWIFI_DEBUG and debug flag
is enabled, and then dump the entire event buffer to syslog.
2. dump event log request from debugfs
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>
Jay Sternberg [Fri, 20 Nov 2009 20:05:06 +0000 (12:05 -0800)]
iwlwifi: Tell the ucode immediately when association state changes
When we get a state change of associated or not, we need to tell the
ucode via the RX_ON command using the filter flags. This will prevent
the ucode from sending any packets when not associated, specifically not
sending NULL QOS packets after a deauthentication which causes the AP to
repeatedly send deauth's in some situations.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:05 +0000 (12:05 -0800)]
iwlwifi: dump error log when uCode error occurred
uCode error log contain information as to what the error was and where
it occurred necessary to debug any uCode issues.
Always log the information without special debug flag, this can help to
capture the important information when error happened.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:04 +0000 (12:05 -0800)]
iwlwifi: by default, dump entire sram data portion
For "sram" debugfs file, if user did not specify the offset and length,
dump the entire data portion of sram by default.
Data portion is 0x800000 - 0x80ffff, but the actual data size is known
to the driver from the ucode file.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:03 +0000 (12:05 -0800)]
iwlwifi: update supported PCI_ID list for 5xx0 series
Update the PCI_ID list for 5xx0 series.
Remove all the PCI_IDs which never made into production or not longer in
production.
Also make sure the supported bands(a/b/g/n) match specified PCI_IDs
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>
Johannes Berg [Fri, 20 Nov 2009 20:05:02 +0000 (12:05 -0800)]
iwlwifi: separate IO tracing
Since IO tracing is usually not needed and
generates a lot of data, separate it into
its own trace system so that we can always
enable iwlwifi:* and not have to worry about
getting too much data. If IO tracing is then
really needed we can enable iwlwifi_io:* in
addition and get that data.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:01 +0000 (12:05 -0800)]
iwlwifi: fix reserved2 field in iwl4965_addsta
reserved2 field in "struct iwl4965_addsta_cmd" is __le16.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:05:00 +0000 (12:05 -0800)]
iwlwifi: dynamically allocate buffer for sram debugfs file
Dynamically allocate memory for dumping SRAM based on the length of memory
to be displayed.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:04:59 +0000 (12:04 -0800)]
iwlwifi: increase tx_queue debugfs buffer size
For tx_queue, need to increase the buffer size allocated for it,
so all the queues information can be displayed
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:04:58 +0000 (12:04 -0800)]
iwlwifi: set read/write permission for debugfs files
Set the correct Read/Write file permission for iwlwifi debugfs files
based on the functionality of the files
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>
Reinette Chatre [Fri, 20 Nov 2009 20:04:57 +0000 (12:04 -0800)]
iwl3945: removed unused struct and definitions
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Fri, 20 Nov 2009 20:04:56 +0000 (12:04 -0800)]
iwlwifi: reset led_tpt when clear tx/rx traffic byte counts
LED blink rate is based on the traffic load, when tx/rx traffic counts
got reset, we also need to reset the led_tpt to prevent incorrect
blink rate being calculated.
Merge both clear_tx_statistics() and clear_rx_statistics() into
single clear_traffic_statistics() function, when reset the traffic byte
counts, both tx and rx need to be reset at the same time, to make
sure calculated the correct led blink rate.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:04:55 +0000 (12:04 -0800)]
iwlwifi: set sm_ps_mode as part of cfg parameters
Setting "Spatial multiplexing Power Save" as part of
per device configuration parameter.
Report to uCode based on priv->conf setting, so driver can
have more control of how different devices should operate
in power save mode.
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>
Wey-Yi Guy [Fri, 20 Nov 2009 20:04:54 +0000 (12:04 -0800)]
iwlwifi: control led while update tx/rx bytes counts
LED blinking rate is based on tx/rx traffic, the most reasonable place
to do it is after update the traffic byte counts
This fixes the recent LED blinking breakage on 3945 introduced by "iwlwifi:
separate led function from statistic notification"
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Tested-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ben Cahill [Fri, 20 Nov 2009 20:04:53 +0000 (12:04 -0800)]
iwlagn: Use iwl_write8() for CSR_INT_COALESCING register
CSR_INT_COALESCING previously had only one, but now has two single-byte fields.
With only one single-byte field (lowest order byte) it was okay to write via
iwl_write32(), but now with two, an iwl_write32() to the lower order field
clobbers the other field (odd-address CSR_INT_PERIODIC_REG, offset 0x5), and an
iwl_write32() to CSR_INT_PERIODIC_REG could clobber the lowest byte of the
next-higher register (CSR_INT, offset 0x8).
Fortunately, no bad side effects have been produced by the iwl_write32()
usage, due to order of execution (low order byte was always written before
higher order byte), and the fact that writing "0" to the low byte of the
next higher register has no effect (only action is when writing "1"s).
Nonetheless, this cleans up the accesses so no bad side effects might occur
in the future, if execution order changes, or more bit fields get added to
CSR_INT_COALESCING.
Add some comments regarding periodic interrupt usage.
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>
Ben Cahill [Fri, 20 Nov 2009 20:04:52 +0000 (12:04 -0800)]
iwlwifi: Add iwl_write8()
To support byte writes to CSR_INT_COALESCING and CSR_INT_PERIODIC registers,
add iwl_write8(), including debug/trace support.
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>
Johannes Berg [Fri, 20 Nov 2009 09:09:14 +0000 (10:09 +0100)]
mac80211: fix rcu locking
Add a missing rcu_read_unlock() before jumping out
of the ieee80211_change_station() function in the
error case.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Lukáš Turek [Thu, 19 Nov 2009 22:02:02 +0000 (23:02 +0100)]
ath5k: Fix I/Q calibration
The sign of correction coefficients was lost in the calculations, which
caused high packetloss in 802.11a mode after the results were applied.
Fixed by removing unneccesary and broken AND with a bit mask.
Signed-off-by: Lukas Turek <8an@praha12.net>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 19 Nov 2009 21:42:16 +0000 (22:42 +0100)]
mac80211: remove dead struct member
ieee80211_local.wstats is a remnant from the
days when we still had to worry about wireless
extensions in mac80211 -- it can be removed.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Thu, 19 Nov 2009 21:24:29 +0000 (22:24 +0100)]
b43: Rewrite DMA Tx status handling sanity checks
This rewrites the error handling policies in the TX status handler.
It tries to be error-tolerant as in "try hard to not crash the machine".
It won't recover from errors (that are bugs in the firmware or driver),
because that's impossible. However, it will return a more or less useful
error message and bail out. It also tries hard to use rate-limited messages
to not flood the syslog in case of a failure.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Benoit PAPILLAULT [Thu, 19 Nov 2009 21:19:26 +0000 (22:19 +0100)]
ath9k: This patch fix RX unpadding for any received frame.
It has been tested with a 802.11 frame generator and by checking the FCS field
of each received frame with the value reported by the Atheros hardware. This
patch is useful if you are trying to analyze non standard 802.11 frame going
over the air.
Signed-off-by: Benoit PAPILLAULT <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Thu, 19 Nov 2009 20:40:46 +0000 (14:40 -0600)]
ssb: Unconditionally log results of core scans
At present, the results of an SSB core scan are only logged when
CONFIG_SSB_DEBUG is "y". As this may not be set in a distro kernel,
it is difficult interpret many problems posted in bug reports or in
help forums.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Matthew Garrett [Wed, 11 Nov 2009 19:36:31 +0000 (14:36 -0500)]
ipw2200: Set core hw rfkill status when hardware changes state
ipw2200 is able to detect when it's been hard-killed, but doesn't update
the core rfkill state or update userspace. Ensure that the state is updated,
allowing the rfkill core to notify userspace.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Matthew Garrett [Wed, 11 Nov 2009 19:36:30 +0000 (14:36 -0500)]
ipw2100: Register the wiphy device
libipw unconditionally calls wiphy_unregister, but it's up to the driver
to register it in the first place. ipw2100 fails to do so. Add the necessary
glue code, and also ensure that rfkill statuses get set up appropriately.
(Augmented for proper wiphy_unregister placement. -- JWL)
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Tue, 25 Aug 2009 18:12:25 +0000 (14:12 -0400)]
libipw: initiate cfg80211 API conversion (v2)
Initiate the conversion of libipw to the new cfg80211 configuration API.
For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually
migrate it to cfg80211 when the add/del/change_virtual_intf methods
are implemented.
(v2: Fix unconditional wiphy_unregister in libipw which was causing
problems for ipw2100, somewhat based on prior attempted fix
by Zhu Yi <yi.zhu@intel.com>. Previously both original version of
this patch and Zhu Yi's fix attempt were reverted due to
discovery of regressions. -- JWL)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Alexander Duyck [Mon, 23 Nov 2009 06:32:57 +0000 (06:32 +0000)]
ixgbe: Only set/clear VFE in ixgbe_set_rx_mode
There appears to be a stray setting of the VFE bit when registering vlans.
This should not be done as vlan filtering should be enabled any time the
interface is not in promiscous mode
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mallikarjuna R Chilakala [Mon, 23 Nov 2009 18:45:11 +0000 (10:45 -0800)]
ixgbe: Use rx buffer length from rx ring for configuring rscctl
While configuring rscctl use rx buffer length from rx ring structure
instead of passing rx_buf_len to ixgbe_configure_rscctl
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mallikarjuna R Chilakala [Mon, 23 Nov 2009 06:32:06 +0000 (06:32 +0000)]
ixgbe: Modify 82599 HWRSC statistics counters
Divide 82599 HWRSC counters into aggregated and flushed to count number of
packets getting coalesced per TCP connection.
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sathya Perla [Sun, 22 Nov 2009 22:02:45 +0000 (22:02 +0000)]
be2net: remove BUG_ON() when be2net runs out of mccq wrbs
The driver can run out of mccq wrbs when completions don't arrive
due to an unresponsive card. This must not hit a BUG_ON(); instead
log a msg and return an error.
Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sathya Perla [Sun, 22 Nov 2009 22:02:26 +0000 (22:02 +0000)]
be2net: Fix cleanup path in be_probe()
Disabling msix was missing when probe fails after enabling msix.
Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sathya Perla [Sun, 22 Nov 2009 22:02:03 +0000 (22:02 +0000)]
be2net: Issue fw_init/clean cmds to fw
These cmds are issued to the fw in probe/resume and remove/suspend
paths to help fw execute some initialization and cleanup code.
This change needed the be_hw_up() code to be refactored as be_get_config().
Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sathya Perla [Sun, 22 Nov 2009 22:01:31 +0000 (22:01 +0000)]
be2net: Fix rx_drops_no_fragments stat being incorrectly indexed
Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sathya Perla [Sun, 22 Nov 2009 22:01:10 +0000 (22:01 +0000)]
be2net: support configuration of 64 multicast addresses instead of 32
To send upto 64 addresses in the multicast-set cmd, the non-embeeded cmd format
that provides for a bigger buffer is used instead of an embedded format.
Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Joe Perches [Mon, 23 Nov 2009 18:41:23 +0000 (10:41 -0800)]
net/ipv4: Move && and || to end of previous line
On Sun, 2009-11-22 at 16:31 -0800, David Miller wrote:
> It should be of the form:
> if (x &&
> y)
>
> or:
> if (x && y)
>
> Fix patches, rather than complaints, for existing cases where things
> do not follow this pattern are certainly welcome.
Also collapsed some multiple tabs to single space.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jaswinder Singh Rajput [Mon, 23 Nov 2009 04:43:13 +0000 (20:43 -0800)]
net: Fix missing kernel-doc notation
Fix the following htmldocs warning:
Warning(net/core/dev.c:5378): bad line:
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:28:56 +0000 (23:28 +0000)]
e1000e: update Tx Unit hang detection message
The Tx unit hang detection code in e1000e detects other hangs caused by
hardware components (e.g. Rx, DMA units), but it is not possible to detect
exactly which component is hung so it has always assumed a Tx unit hang.
When dumping a message to the system log because of a hang, this patch adds
more data to help narrow the cause of the issue and makes the message
non-Tx-specific. Because this new code reads PHY registers which can
sleep, move it off to a workqueue. This and all previously existing work
tasks in the driver are now cancelled when the driver is removed.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:28:37 +0000 (23:28 +0000)]
e1000e: cosmetic - group local variables of the same type
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:28:17 +0000 (23:28 +0000)]
e1000e: remove redundant might_sleep()
Now that mutex_lock() calls might_sleep() the driver doesn't have to here.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:27:59 +0000 (23:27 +0000)]
e1000e: do not error out on identification LED init failure
A failure to initialize the identification LED is not a fatal condition and
should allow the init path to continue.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:27:40 +0000 (23:27 +0000)]
e1000e: set pm_qos DMA latency requirement per interface when needed
It was pointed out a pm_qos DMA latency requirement set when the driver is
loaded when parts that support early receive of jumbo frames are probed
could have that requirement overidden if another part supported by the
driver (one that does not support early receive of jumbo frames) is probed
later. Change the DMA latency requirement to be per-interface if needed
instead of per driver.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:27:21 +0000 (23:27 +0000)]
e1000e: cleanup functions that clear hardware statistics
The e1000_clear_hw_cntrs_*() functions read the registers to clear them.
There is no reason to save the register contents so the temp variable can
be removed.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:27:03 +0000 (23:27 +0000)]
e1000e: cleanup - shift indentation left by exiting early in e1000_tso
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bruce Allan [Fri, 20 Nov 2009 23:26:44 +0000 (23:26 +0000)]
e1000e: set bools to true/false instead of 1/0
Set booleans to 'true' or 'false' to make it clear it is a boolean. Also
change instances of TRUE/FALSE in comments to lowercase true/false.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>