aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-08-02ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twiceChangli Gao1-4/+2
6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350 subtracts PPPOE_SES_HLEN from mtu at the front of ip_fragment(). So the later subtraction should be removed. The MTU of 802.1q is also 1500, so MTU should not be changed. Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Bart De Schuymer <[email protected]> ---- net/ipv4/ip_output.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) Signed-off-by: Bart De Schuymer <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02net: Add getsockopt support for TCP thin-streamsJosh Hunt1-0/+6
Initial TCP thin-stream commit did not add getsockopt support for the new socket options: TCP_THIN_LINEAR_TIMEOUTS and TCP_THIN_DUPACK. This adds support for them. Signed-off-by: Josh Hunt <[email protected]> Tested-by: Andreas Petlund <[email protected]> Acked-by: Andreas Petlund <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: update driver versionDimitris Michailidis1-1/+1
Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: add new PCI IDsDimitris Michailidis1-0/+10
Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: fix wrong shift directionDimitris Michailidis1-1/+1
Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: support running the driver on PCI functions besides 0Dimitris Michailidis3-72/+97
Add support for running the driver on any PCI function. Mostly this entails replacing a constant 0 in a number of calls with the variable function number. Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: advertise NETIF_F_TSO_ECNDimitris Michailidis1-4/+6
The device supports TSO+ECN. Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: get on-chip queue info from FW and create a memory window for themDimitris Michailidis4-2/+29
Get info about the availability of Tx on-chip queues from FW and if they are supported set up a memory window for them. iw_cxgb4 will be using them. Move the existing window setup later in the init sequence, after we have collected the new info. Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: fix TSO descriptorsDimitris Michailidis1-11/+11
Commit 1704d74894912b8ecc3e95cecd7bde336a0b1bf2 ("cxgb4vf: small changes to message processing structures/macros") was incomplete and causes cxgb4 to write bad TSO descriptors. Fix that up by reverting the offending part of that commit and adjusting field accesses now that they are one level deeper. Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: don't offload Rx checksums for IPv6 fragmentsDimitris Michailidis2-3/+6
The checksum provided by the device doesn't include the L3 headers, as IPv6 expects. Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02cxgb4: disable an interrupt that is neither used nor servicedDimitris Michailidis1-1/+1
Signed-off-by: Dimitris Michailidis <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02hp100: unmap memory on error pathDan Carpenter1-2/+4
There was an error path where "mem_ptr_virt" didn't get unmapped. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02Tulip: don't initialize SBE xT3E3 WAN ports.Krzysztof Hałasa2-0/+9
SBE 2T3E3 cards use DECchips 21143 but they need a different driver. Don't even try to use a normal tulip driver with them. Signed-off-by: Krzysztof Hałasa <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02drivers/net/wan/farsync.c: Use standard pr_<level>Joe Perches1-58/+53
Remove locally defined equivalents Signed-off-by: Joe Perches <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02Merge branch 'vhost-net-next' of ↵David S. Miller5-91/+515
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
2010-08-02tg3: Update version to 3.113Matt Carlson1-2/+2
This patch updates the tg3 version to 3.113. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Migrate tg3_flags to phy_flagsMatt Carlson2-152/+159
This patch moves most of the phy related flag definitions over to the phyflags member and changes the code accordingly. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Create phy_flags and migrate phy_is_low_powerMatt Carlson2-19/+20
This patch deletes the link_config.phy_is_low_power flag and creates a new phy_flags device member to store all phy related settings. All the code is converted accordingly. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Add phy-related preprocessor constantsMatt Carlson2-23/+27
This patch replaces some instances of hardcoded phy register values with preprocessor equivalents. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Add error reporting to tg3_phydsp_write()Matt Carlson1-31/+20
This patch adds error reporting to the tg3_phydsp_write() function and converts a few more locations to use this function over the inlined equivalent. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Improve small packet performanceMatt Carlson1-1/+23
smp_mb() inside tg3_tx_avail() is used twice in the normal tg3_start_xmit() path (see illustration below). The full memory barrier is only necessary during race conditions with tx completion. We can speed up the tx path by replacing smp_mb() in tg3_tx_avail() with a compiler barrier. The compiler barrier is to force the compiler to fetch the tx_prod and tx_cons from memory. In the race condition between tg3_start_xmit() and tg3_tx(), we have the following situation: tg3_start_xmit() tg3_tx() if (!tg3_tx_avail()) BUG(); ... if (!tg3_tx_avail()) netif_tx_stop_queue(); update_tx_index(); smp_mb(); smp_mb(); if (tg3_tx_avail()) if (netif_tx_queue_stopped() && netif_tx_wake_queue(); tg3_tx_avail()) With smp_mb() removed from tg3_tx_avail(), we need to add smp_mb() to tg3_start_xmit() as shown above to properly order netif_tx_stop_queue() and tg3_tx_avail() to check the ring index. If it is not strictly ordered, the tx queue can be stopped forever. This improves performance by about 3% with 2 ports running bi-directional 64-byte packets. Reviewed-by: Benjamin Li <[email protected]> Signed-off-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Remove 5720, 5750, and 5750MMatt Carlson2-6/+0
These devices were never released to the public. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Detect APE firmware typesMatt Carlson2-1/+10
This patch adds code to determine the APE firmware type and report this along with the firmware version. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Restrict ASPM workaround devlistMatt Carlson1-1/+3
The ASPM workaround setting obtained from NVRAM only works with devices older than 5717. This patch enforces the restriction. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Manage gphy power for CPMU-less devs onlyMatt Carlson1-1/+4
This patch changes the code to only manage the PCIe gphy power for CPMU-less devices only. The CPMU takes over management for newer chips. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Don't access phy test ctrl reg for 5717+Matt Carlson2-3/+11
The phy test register location has been repurposed for 5717+ devices. This patch changes the code to avoid this location for these devices. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Create TG3_FLG3_5717_PLUS flagMatt Carlson2-50/+23
This patch creates a TG3_FLG3_5717_PLUS flag to collectively describe the set of changes in the ASIC that will apply to all future chip revisions. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Disable TSS also during tg3_close()Matt Carlson1-1/+1
The TSS flag needs to be turned off during tg3_close(). If the device fails to allocate more than one MSI-X vector the next time the device is brought up, transmits will fail. Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02tg3: Add 5784 ASIC rev to earlier PCIe MPS fixMatt Carlson1-2/+1
tg3 commit e7126997342560533317d8467e8516119ebcbd21 entitled "tg3: Preserve PCIe MPS setting for new devs" attempted to ensure the PCIe link negotiated Maximum Payload Size (MPS) setting was 128 bytes for all devices that didn't support higher speeds. The 5784 device was mistakenly added to this list when it shouldn't have. This patch removes the 5784 ASIC rev devices from that list. Reviewed-by: Benjamin Li <[email protected]> Reviewed-by: Michael Chan <[email protected]> Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-02Merge branch 'master' of ↵David S. Miller45-363/+806
git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
2010-08-02netfilter: nf_conntrack_acct: use skb->len for accountingChangli Gao1-2/+1
use skb->len for accounting as xt_quota does. Since nf_conntrack works at the network layer, skb_network_offset should always returns ZERO. Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02netfilter: nf_nat: don't check if the tuple is unique when there isn't any ↵Changli Gao3-6/+6
other choice The tuple got from unique_tuple() doesn't need to be really unique, so the check for the unique tuple isn't necessary, when there isn't any other choice. Eliminating the unnecessary nf_nat_used_tuple() can save some CPU cycles too. Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02netfilter: nf_nat: make unique_tuple return voidChangli Gao10-32/+30
The only user of unique_tuple() get_unique_tuple() doesn't care about the return value of unique_tuple(), so make unique_tuple() return void (nothing). Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02netfilter: nf_nat: use local variable hdrlenChangli Gao1-11/+7
Use local variable hdrlen instead of ip_hdrlen(skb). Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02ipvs: provide default ip_vs_conn_{in,out}_get_protoSimon Horman5-153/+63
This removes duplicate code by providing a default implementation which is used by 3 of the 4 modules that provide these call. Signed-off-by: Simon Horman <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02ipvs: remove EXPERIMENTAL tagSimon Horman1-1/+1
IPVS was merged into the kernel quite a long time ago and has been seeing wide-spread production use for even longer. It seems appropriate for it to be no longer tagged as EXPERIMENTAL Signed-off-as: Simon Horman <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02netfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()Changli Gao2-12/+19
some users of nf_ct_ext_exist() know ct->ext isn't NULL. For these users, the check for ct->ext isn't necessary, the function __nf_ct_ext_exist() can be used instead. the type of the return value of nf_ct_ext_exist() is changed to bool. Signed-off-by: Changli Gao <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-02netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessaryEric Dumazet3-12/+18
We currently disable BH for the whole duration of get_counters() On machines with a lot of cpus and large tables, this might be too long. We can disable preemption during the whole function, and disable BH only while fetching counters for the current cpu. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2010-08-01net: ingress filter message limitStephen Hemminger1-4/+4
If user misconfigures ingress and causes a redirection loop, don't overwhelm the log. This is also a error case so make it unlikely. Found by inspection, luckily not in real system. Signed-off-by: Stephen Hemminger <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-08-01net/rose: Use GFP_ATOMICJulia Lawall1-1/+3
The other calls to kmalloc in the same function use GFP_ATOMIC, and indeed two locks are held within the body of the function. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier f; @@ *f(...,GFP_ATOMIC,...) ... when != spin_unlock(...) when != read_unlock(...) when != write_unlock(...) when != read_unlock_irq(...) when != write_unlock_irq(...) when != read_unlock_irqrestore(...) when != write_unlock_irqrestore(...) when != spin_unlock_irq(...) when != spin_unlock_irqrestore(...) *f(...,GFP_KERNEL,...) // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30be2net: fix to avoid sending get_stats request if one is already being ↵Ajit Khaparde3-1/+5
processed. GET_STATS request uses the same memory region as the response. If a new request for get stats is fired before the response for the previous get_stats request is received, the response will corrupt the new request, causing the f/w to misbehave. Signed-off-by: Somnath K <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30be2net: change to show correct physical link statusAjit Khaparde1-1/+2
link status is wrongly displayed under certain circumstances. This change fixes it. Signed-off-by: Somnath K <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30be2net: add code to dump registers for debugAjit Khaparde5-0/+140
when the BE device becomes unresponsive, dump the registers to help debugging Signed-off-by: Somnath K <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30be2net: fix to correctly know if driver needs to run for a VF or a PFAjit Khaparde1-2/+3
Move be_check_sriov_fn_type to appropriate place to correctly determine if the be2net driver needs to work as a VF driver or a PF driver. Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30sky2: Code style fixesMike McCormack1-12/+12
Fix selected style problems reported by checkpatch. Signed-off-by: Mike McCormack <[email protected]> Acked-by: Stephen Hemminger <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30TI DaVinci EMAC: Fix incorrect reference to EMAC_CTRL registers.Sriram1-3/+5
The EMAC modules control registers vary as per the version of the EMAC module. EMAC_CTRL_EWCTL,EMAC_CTRL_EWINTTCNT are available only on EMAC_VERSION_1. The emac_dump_regs() function accesses these indiscriminately. This patch fixes the issue. Signed-off-by: Sriramakrishnan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30TI DaVinci EMAC: Fix asymmetric handling of packets in NAPI Poll function.Sriram1-13/+8
The current implementation of NAPI poll function in the driver does not service Rx packets, error condition even if a single Tx packet gets serviced in the napi poll call. This behavior severely affects performance for specific use cases. This patch modifies the poll function implementation to service tx/rx packets in an identical manner. Signed-off-by: Sriramakrishnan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30TI DaVinci EMAC : Implement interrupt pacing functionality.Sriram1-2/+131
DaVinci EMAC module includes an interrupt pacing block that can be programmed to throttle the rate at which interrupts are generated. This patch implements interrupt pacing logic that can be controlled through the ethtool interface(only rx_coalesce_usecs param is honored) Signed-off-by: Sriramakrishnan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30bridge: Allow multicast snooping to be disabled before ifupHerbert Xu1-5/+4
Currently you cannot disable multicast snooping while a device is down. There is no good reason for this restriction and this patch removes it. Signed-off-by: Herbert Xu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-30dnet: fixup error handling in initializationDan Carpenter1-2/+5
There were two problems here. We returned success if dnet_mii_init() failed and there was a release_mem_region() missing. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: David S. Miller <[email protected]>