aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)AuthorFilesLines
2012-03-13b43: Load firmware from a work queue and not from the probe routineLarry Finger2-27/+35
Recent changes in udev are causing problems for drivers that load firmware from the probe routine. As b43 has such a structure, it must be changed. As this driver loads more than 1 firmware file, changing to the asynchronous routine request_firmware_nowait() would be complicated. In this implementation, the probe routine starts a queue that calls the firmware loading routines. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-13b43legacy: Load firmware from work queue instead of from probe routineLarry Finger2-13/+23
Recent changes in udev are causing problems for drivers that load firmware from the probe routine. As b43legacy has such a structure, it must be changed. As this driver loads 3 or 4 firmware files, changing to the asynchronous routine request_firmware_nowait() would be complicated. In this implementation, the probe routine starts a work queue that calls the firmware loading routines. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-13Merge branch 'for-linville' of git://github.com/kvalo/ath6klJohn W. Linville25-667/+1228
2012-03-13Merge branch 'master' of ↵John W. Linville5-5/+22
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
2012-03-13ath6kl: fix debug.c file modeKalle Valo1-0/+0
Commit 7504a3e1 ("ath6kl: add padding to firmware log records") accidentally changed debug.c mode from 100644 to 100755. Revert that back to original. Signed-off-by: Kalle Valo <[email protected]>
2012-03-13ath6kl: use max_t() in ath6kl_cfg80211_connect()Kalle Valo1-2/+2
ath6kl/cfg80211.c:589: WARNING: max() should probably be max_t(u16, vif->listen_intvl_t, ATH6KL_MAX_WOW_LISTEN_INTL) Signed-off-by: Kalle Valo <[email protected]>
2012-03-13ath6kl: fix open parenthesis alignment in ath6kl_sdio_suspend()Kalle Valo1-4/+5
ath6kl/sdio.c:875: CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <[email protected]>
2012-03-13ath6kl: replace strict_strtoul() with kstrtoul()Kalle Valo1-17/+2
Recommended by checkpatch. Signed-off-by: Kalle Valo <[email protected]>
2012-03-13ath6kl: fix regression in ath6kl_upload_board_file()Kalle Valo1-1/+2
My patch 24fc32b3 ("ath6kl: add ath6kl_bmi_write_hi32()") caused a regression in ath6kl_upload_board_file() and the board_address variable was not properly initialised in some cases: ath6kl/init.c:1068:6: warning: ‘board_address’ may be used uninitialized in this function Most likely this broke ar6004 support but I can't test that right now. Signed-off-by: Kalle Valo <[email protected]>
2012-03-12ixgbe: Simplify logic for ethtool loopback frame creation and testingAlexander Duyck1-31/+32
This change makes it a bit easier to do the loopback frame creating and testing. Previously we were doing an and to drop the last bit, and then dividing the frame_size by 2 in order to get locations for frame bytes and testing. Instead we can simplify it by just shifting the register one bit to the right and using that for the frame offsets. This change also replaces all instances of rx_buffer_info with just rx_buffer since that is closer to the name of the actual structure being used and can save a few extra characters. In addition I have updated the logic for cleaning up a test frame so that we pass an rx_buffer instead of the sk_buff. The main motivation behind this is changes that will replace the sk_buff with just a page in the future. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Add iterator for cycling through rings on a q_vectorAlexander Duyck2-8/+12
Since there are multiple spots where we have to cycle through all of the rings on a q_vector it makes sense to just add a function for iterating through all of them. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Allocate rings as part of the q_vectorAlexander Duyck3-257/+244
This patch makes the rings a part of the q_vector directly instead of indirectly. Specifically on x86 systems this helps to avoid any cache set conflicts between the q_vector, the tx_rings, and the rx_rings as the critical stride is 4K and in order to cross that boundary you would need to have over 15 rings on a single q_vector. In addition this allows for smarter allocations when Flow Director is enabled. Previously Flow Director would set the irq_affinity hints based on the CPU and was still using a node interleaving approach which on some systems would end up with the two values mismatched. With the new approach we can set the affinity for the irq_vector and use the CPU for that affinity to determine the node value for the node and the rings. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Drop unnecessary napi_schedule_prep and spare blank line from ixgbe_intrAlexander Duyck1-5/+2
This patch is a minor cleanup to address the unnecessary use of napi_schedule_prep in ixgbe_intr and to also remove a blank line that is not needed since it is separating a comment from the line it is explaining. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Default to queue pairs when number of queues is less than CPUsAlexander Duyck2-8/+8
The old code had several errors in how it was determining the vector budget. In order to simplify things this patch updates the code so that it will attempt to always allocated paired Rx/Tx vectors instead of attempting to allocate individual vectors when the number of queues is less than the number of CPUs. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Correct Adaptive Interrupt Moderation so that it will change valuesAlexander Duyck1-2/+2
This change corrects an issue in which Adaptive Interrupt Moderation was not changing values due to the fact that we were performing an and operation on the resultant value that was causing the value to never change from the default 20K interrupts per second. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Address issues with Tx WHTRESH value not being set correctlyAlexander Duyck1-2/+5
This change is meant to address the fact that the tx_itr_setting was dropping to 0 when no separate Tx vectors were provided. This had resulted in the driver incorrectly configuring the Tx ring with a WTHRESH of 1 in order to avoid Tx hangs even though that was not necessary. This change makes it so that we instead take a look at the Tx ring's q_vector to determine if the ring will have an ITR value less than 8us. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Reorder adapter contents for better cache utilizationAlexander Duyck1-46/+48
This change moves several frequently accessed items together into one cache line in order to reduce cache misses in the hot-path. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: Do no clear Tx status bits since eop_desc provides enough infoAlexander Duyck1-4/+3
There isn't any need to clear the status bits in the descriptors due to the fact that the eop_desc provides enough information for us to know that we have cleaned to the last packet that the software has put on the ring. The status bits are cleared as a part of putting the frame on the ring so as long as we do not read the descriptor bit prior to reading the value eop_desc we should be able to guarantee that we will not clean beyond the end of the current data stream. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12net: Fix issue with netdev_tx_reset_queue not resetting queue from XOFF stateAlexander Duyck1-1/+2
We are seeing dev_watchdog hangs on several drivers. I suspect this is due to the __QUEUE_STATE_STACK_XOFF bit being set prior to a reset for link change, and then not being cleared by netdev_tx_reset_queue. This change corrects that. In addition we were seeing dev_watchdog hangs on igb after running the ethtool tests. We found this to be due to the fact that the ethtool test runs the same logic as ndo_start_xmit, but we were never clearing the XOFF flag since the loopback test in ethtool does not do byte queue accounting. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2012-03-12ixgbe: add support for byte queue limitsAlexander Duyck2-0/+12
This adds support for byte queue limits (BQL). Based on patch from Eric Dumazet for igb. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Stephen Ko <[email protected]>
2012-03-12ixgbe: remove tie between NAPI work limits and interrupt moderationJeff Kirsher1-6/+0
As noted by Ben Hutchings and David Miller, work limits for NAPI should not be tied to interrupt moderation parameters. This should be handled by NAPI, possibly through sysfs. Neil Horman & Stephen Hemminger are working on a solution for NAPI currently. In the meantime, remove this tie between work limits and interrupt moderation. Signed-off-by: Jeff Kirsher <[email protected]> CC: Ben Hutchings <[email protected]> Tested-by: Phil Schmitt <[email protected]>
2012-03-12igb: fix ethtool offline testJeff Kirsher1-0/+7
A bug was introduced with the following patch: Commmit bdbc063129e811264cd6c311d8c2d9b95de01231 Author: Eric Dumazet <[email protected]> igb: Add support for byte queue limits. The ethtool offline tests will cause a perpetual link flap, this is because the tests also need to account for byte queue limits (BQL). CC: Eric Dumazet <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: John Fastabend <[email protected]> Tested-by: Jeff Pieper <[email protected]>
2012-03-12tun: don't hold network namespace by tun socketsStanislav Kinsbursky1-3/+12
v3: added previously removed sock_put() to the tun_release() callback, because sk_release_kernel() doesn't drop the socket reference. v2: sk_release_kernel() used for socket release. Dummy tun_release() is required for sk_release_kernel() ---> sock_release() ---> sock->ops->release() call. TUN was designed to destroy it's socket on network namesapce shutdown. But this will never happen for persistent device, because it's socket holds network namespace. This patch removes of holding network namespace by TUN socket and replaces it by creating socket in init_net and then changing it's net it to desired one. On shutdown socket is moved back to init_net prior to final put. Signed-off-by: Stanislav Kinsbursky <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: code doesn't use stats for allocating Rx BDsDmitry Kravkov1-8/+9
Previously, allocation used queue statistics directly in its calcualtion. This change causes these calculations to be summed into the statistics, without being affected by them. Signed-off-by: Dmitry Kravkov <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: ethtool returns req. AN even when AN failsYuval Mintz1-1/+1
Previously, if autoneg failed, ethtool would return the achieved autoneg. This patch corrects this, causing ethtool to return the requested autoneg capabilities even if autoneg fails. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: ethtool now returns unknown speed/duplexYuval Mintz1-11/+18
Previously, unless both interface and link were up, ethtool returned the requested speed/duplex when asked for the interface's settings. This change will now enable the driver to answer correctly (i.e., return unknown as its answer). Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: mark functions as loaded on shared memoryYuval Mintz1-0/+17
This change enables the FW to make more accurate decisions regarding the active functions. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: use param's id instead of sp_obj's idYuval Mintz3-1/+5
Previously, we've used the object's function id instead of using the input's value. This is remedied, as in other flows. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: set_one_mac_e1x uses raw's state as inputYuval Mintz1-1/+1
Previously, we used a hard-coded value as paramater, instead of using the input's value. This is now remedied, as in other flows. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: removed unused function bnx2x_queue_set_cos_cidYuval Mintz1-7/+0
Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: move LLH_CAM to header, apply naming conventionsYuval Mintz2-9/+11
These definitions are united into the header. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12lpc32xx: Added ethernet driver[email protected]5-0/+1615
This patch adds an ethernet driver for the LPC32xx ARM SoC. Signed-off-by: Roland Stigge <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12net/hyperv: Add support for vlan trunking from guestsHaiyang Zhang4-4/+101
With this feature, a Linux guest can now configure multiple vlans through a single synthetic NIC on Win8 Hyper-V host. Signed-off-by: Haiyang Zhang <[email protected]> Reviewed-by: K. Y. Srinivasan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12net/hyperv: Fix data corruption in rndis_filter_receive()Haiyang Zhang1-24/+9
Limiting the memcpy to be the sizeof(struct rndis_message) can truncate the message if there are Per-Packet-Info or Out-of-Band data. In my earlier patch (commit 45326342), the unnecessary kmap_atomic and kunmap_atomic surrounding this memcpy have been removed because the memory in the receive buffer is always mapped. This memcpy is not necessary either. To fix the bug, I removed the memcpy. Signed-off-by: Haiyang Zhang <[email protected]> Reviewed-by: K. Y. Srinivasan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: FCoE statistics id fixedYuval Mintz1-3/+9
FCoE statistics ids were distinguished from the L2's statistics ids. However, not all of the change was committed. This causes a possible collision of indices when FCoE is present. This patch fixes the issue. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: dcb bit indices flags used as bitsYuval Mintz2-4/+6
DCB flags were updated using the flags' bit offsets instead of the actual bits. This is now fixed. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: added cpu_to_le16 when preparing ramrod's dataAriel Elior1-1/+1
Fixed endianess issue when passing arguments to FW. Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12bnx2x: pfc statistics counts pfc events twiceYuval Mintz1-12/+0
When pfc statistics were counted, the delta change from last count was summed twice. This fixes the issue. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-03-12Merge branches 'misc' and 'mlx4' into for-nextRoland Dreier6-6/+202
Conflicts: drivers/infiniband/hw/mlx4/main.c drivers/net/ethernet/mellanox/mlx4/main.c include/linux/mlx4/device.h
2012-03-12mlx4_core: Scale size of MTT table with system RAMRoland Dreier2-1/+20
The current driver defaults to 1M MTT segments, where each segment holds 8 MTT entries. This limits the total memory registered to 8M * PAGE_SIZE which is 32GB with 4K pages. Since systems that have much more memory are pretty common now (at least among systems with InfiniBand hardware), this limit ends up getting hit in practice quite a bit. Handle this by having the driver allocate at least enough MTT entries to cover 2 * totalram pages. Signed-off-by: Roland Dreier <[email protected]>
2012-03-12mlx4_core: Allow dynamic MTU configuration for IB portsOr Gerlitz3-4/+140
Set the MTU for IB ports in the driver instead of using the firmware default of 2KB (the driver defaults to 4KB). Allow for dynamic mtu configuration through a new, per-port sysfs entry. Since there's a dependency between the port MTU and the max number of HW VLs the port can support, apply a mim/max approach, using a loop that goes down from the highest possible number of VLs to the lowest, using the firmware return status to know whether the requested number of VLs is possible with a given MTU. For now, as with the dynamic link type change / VPI support, the sysfs entry to change the mtu is exposed only when NOT running in SR-IOV mode. To allow changing the MTU for the master in SR-IOV mode, primary-function-initiated FLR (Function Level Reset) needs to be implemented. Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-03-12mlx4_core: Report thermal error eventsJack Morgenstein2-1/+35
Print an error message when a thermal error async event is reported by the HW. Signed-off-by: Jack Morgenstein <[email protected]> Signed-off-by: Dotan Barak <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-03-12mlx4_core: Fix one more static exported functionRoland Dreier1-1/+1
Commit 22c8bff6face ("mlx4_core: Exported functions can't be static") fixed most of this up, but forgot about mlx4_is_slave_active(). Fix this one too. Cc: <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-03-12iwlwifi: Add bool mvm_ucode to iwl_fwDavid Spinadel2-1/+10
mvm_ucode is true when mvm TLVs arive. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: change struct iwl_fwDavid Spinadel7-141/+139
Change iwl_fw struct to hold an array of fw_img instead of three separated instances. Change fw_img to hold an array of fw_desc instead of two separate descriptors for instructions and data. Change load_given_ucode, load_section, verification functions etc. to support this structure. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: Add TLVs and fields for 16.0 uCodeDavid Spinadel4-16/+108
New TLVs for ucode sections that are not known as instruction or data. New TLVs for phy-configuration and default calibrations. Add default calib and phy config fields to iwl_fw. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: more modularity in fw images and sectionsDavid Spinadel3-77/+207
Changed iwl_firmware_pieces structure to support an array of separate images, and an array of sections for each image. In fw_sec and fw_desc structures, added a field for offset from the HW address, to support 16.0 uCode that provides an offset instead of any other data about the section. This field is filled with default values when parsing instruction or data section. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: explicitly track whether INIT uCode was runDavid Spinadel3-5/+6
Remove IWL_UCODE_NONE from enum iwl_ucode_type which, by being the default value in 0-initialized memory, implicitly allowed us to track whether any uCode had ever been loaded successfully (which would have been the INIT uCode) and instead explicitly track whether or not INIT uCode has been run. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: avoid some operations if no uCode loadedDavid Spinadel7-20/+48
Printing the SRAM and similar testmode operations could be triggered when no uCode is loaded; prevent those invalid operations by tracking whether uCode is loaded. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: move wait_command_queue from shared to transMeenakshi Venkataraman8-10/+11
This wait queue really belongs to the transport layer, as it is used for sending synchronous commands to the HW. However, only op_mode knows about errors and exceptional conditions, so make this queue accessible by the op_mode. Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>