summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ethernet: moxa: remove unnecessary platform_set_drvdata()Jingoo Han2013-08-221-1/+0
| | | | | | | | | The driver core clears the driver data to NULL after device_release or on probe failure. Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tcp: increase throughput when reordering is highYuchung Cheng2013-08-221-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The stack currently detects reordering and avoid spurious retransmission very well. However the throughput is sub-optimal under high reordering because cwnd is increased only if the data is deliverd in order. I.e., FLAG_DATA_ACKED check in tcp_ack(). The more packet are reordered the worse the throughput is. Therefore when reordering is proven high, cwnd should advance whenever the data is delivered regardless of its ordering. If reordering is low, conservatively advance cwnd only on ordered deliveries in Open state, and retain cwnd in Disordered state (RFC5681). Using netperf on a qdisc setup of 20Mbps BW and random RTT from 45ms to 55ms (for reordering effect). This change increases TCP throughput by 20 - 25% to near bottleneck BW. A special case is the stretched ACK with new SACK and/or ECE mark. For example, a receiver may receive an out of order or ECN packet with unacked data buffered because of LRO or delayed ACK. The principle on such an ACK is to advance cwnd on the cummulative acked part first, then reduce cwnd in tcp_fastretrans_alert(). Signed-off-by: Yuchung Cheng <ycheng@google.com> Acked-by: Neal Cardwell <ncardwell@google.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* SolutionEngine7724: fix typo in Ether platform dataSergei Shtylyov2013-08-221-1/+1
| | | | | | | | | Commit bd61224b1cbec096694e89c4187119c8576fe186 (SolutionEngine7724: fix Ether support) has a typo in the 'phy_interface' field name of the platform data which causes build error -- fix it. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* SH7619: fix typo in Ether platform dataSergei Shtylyov2013-08-221-1/+1
| | | | | | | | | Commit 06a64f91da72cb5827e2bedef2ead60a123fd66e (SH7619: fix Ether support) has a typo in the 'phy_interface' field name of the platform data which causes build error -- fix it. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* r8169: fix invalid register dumpPeter Wu2013-08-221-1/+5
| | | | | | | | | | | | | For some reason, my PCIe RTL8111E onboard NIC on a GA-Z68X-UD3H-B3 motherboard reads as FFs when reading from MMIO with a block size larger than 7. Therefore change to reading blocks of four bytes. Ben Hutchings noted that the buffer is large enough to hold all registers, so now all registers are read. Signed-off-by: Peter Wu <lekensteyn@gmail.com> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2013-08-2214-240/+476
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to igb and e1000e. Akeem provides 3 igb patches, the first resets the link when EEE is enabled or disabled if the link is up. His second patch changes a register read which normally stores of the read value to "just-read" so that hardware can accurately latch the register read. Lastly, he adds rcu_lock to avoid a possible race condition with igb_update_stats function. Mitch provides a fix for SR-IOV, where MSI-X interrupts are required, so make sure that MSI-X is enabled before allowing the user to turn on SR-IOV. Alex's igb patch make it so that we limit the lower bound for max_frame_size to the size of a standard Ethernet frame. This allows for feature parity with other Intel based drivers such as ixgbe. Carolyn adds a SKU for a flashless i210 device and a fix for get_fw_version() so that it works for all parts for igb. In addition, she has 2 igb patches to refactor NVM code to accommodate devices with no flash. Lastly, she adds code to check for the failure of pci_disable_link_state() to attempt to work around a problem found with some systems. Laura provides the remaining 2 igb patches. One removing the hard-coded value for the size of the RETA indirection table, and creates a macro instead for the RETA indirection table. The second adds the ethtool callbacks necessary to change the RETA indirection table from userspace. Bruce fixes a whitespace issue in a recent commit and resolves a jiffies comparison warning by using time_after(). Li provides a fix for e1000e to avoid a kernel crash on shutdown by adding one more check in e1000e_shutdown(). This is due to e1000e_shutdown() trying to clear correctable errors on the upstream P2P bridge, when under some cases we do not have the upstream P2P bridge. v2: - fixed patch 11 conditional statement from < to <= based on feedback from Ben Hutchings - fixed patch 12 patch description (adding the commit summary) based on feedback from Sergei Shtylyov ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * e1000e: resolve checkpatch JIFFIES_COMPARISON warningBruce Allan2013-08-221-1/+1
| | | | | | | | | | | | | | | | | | WARNING:JIFFIES_COMPARISON: Comparing jiffies is almost always wrong; prefer time_after, time_before and friends Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: Avoid kernel crash during shutdownLi Zhang2013-08-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While doing shutdown on the PCI device, the corresponding callback function e1000e_shutdown() is trying to clear those correctable errors on the upstream P2P bridge. Unfortunately, we don't have the upstream P2P bridge under some cases (e.g. PCI-passthrou for KVM on Power). That leads to kernel crash eventually. The patch adds one more check on that to avoid kernel crash. Signed-off-by: Li Zhang <zhlcindy@gmail.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: Add code to check for failure of pci_disable_link_state callCarolyn Wyborny2013-08-221-26/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch attempts to work around a problem found with some systems where the call to pci_diable_link_state_locked() fails. As a result, ASPM is not, in fact, disabled. Changing disable ASPM code to check if state actually is disabled after the call and, if not, try another way to disable it. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Acked-by: Bruce W. Allan <bruce.w.allan@intel.com> Tested-by: Pavel Machek <pavel@ucw.cz> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: cleanup whitespace in recent commitBruce Allan2013-08-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | Commit (c96ddb0b e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split) moved a define from one file to another but missed using proper indentation/whitespace. CC: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Expose RSS indirection table for ethtoolLaura Mihaela Vasilescu2013-08-223-21/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the ethtool callbacks necessary to change the RETA indirection table from userspace. In order to achieve this, we add the indirection table field (rss_indir_tbl) in the board specific data structure (struct igb_adapter) to preserve the values across hardware resets. The indirection table must be initialized with default values in the following cases: * at module init time * when the number of RX queues changes. For this reason we add a new field (rss_indir_tbl_init) in igb_adapter that keeps track of the number of RX queues. Whenever the number of RX queues changes, the rss_indir_tbl is modified and initialized with default values. The rss_indir_tbl_init is updated accordingly. CC: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Add macro for size of RETA indirection tableLaura Mihaela Vasilescu2013-08-222-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | RETA indirection table is used to assign the received data to a CPU in order to maintain an efficient distribution of network receive processing across multiple CPUs. This patch removes the hard-coded value for the size of the indirection table and defines a new macro. Signed-off-by: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Fix get_fw_version function for all partsCarolyn Wyborny2013-08-224-44/+93
| | | | | | | | | | | | | | | | | | This patch fixes issues found with older parts and older NVM tools in the display of the version in ethtool. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Add device support for flashless SKU of i210 deviceCarolyn Wyborny2013-08-224-2/+19
| | | | | | | | | | | | | | | | | | This patch adds the specific device id support for versions of i210 that do not have flash installed. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Refactor NVM read functions to accommodate devices with no flashCarolyn Wyborny2013-08-224-60/+77
| | | | | | | | | | | | | | | | | | | | This patch refactors NVM read functions in order to accommodate i210 devices that do not have a flash. Previously, this was not supported on i210 devices. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Refactor of init_nvm_paramsCarolyn Wyborny2013-08-225-65/+92
| | | | | | | | | | | | | | | | | | | | This patch refactors the init_nvm_params functions for 82575 and adds a new function for the i210/i211 devices in order to configure separately the NVM functionality for the i210/i211 family. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Update MTU so that it is always at least a standard frame sizeAlexander Duyck2013-08-221-0/+4
| | | | | | | | | | | | | | | | | | | | This change makes it so that we limit the lower bound for max_frame_size to the size of a standard Ethernet frame. This allows for feature parity with other Intel based drivers such as ixgbe. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: don't allow SR-IOV without MSI-XMitch A Williams2013-08-221-0/+5
| | | | | | | | | | | | | | | | | | MSI-X interrupts are required for SR-IOV operation. Check to make sure they're enabled before allowing the user to turn on VFs. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Added rcu_lock to avoid raceAkeem G Abodunrin2013-08-221-1/+4
| | | | | | | | | | | | | | | | | | | | This patch adds rcu_lock to avoid possible race condition with igb_update_stats function accessing the rings in free_ q_vector. CC: Eric Dumazet <edumazet@google.com> Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Read register for latch_on without return valueAkeem G Abodunrin2013-08-223-19/+12
| | | | | | | | | | | | | | | | | | This patch changes register read to "just-read" without returning a value for hardware to accurately latch the register value. Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Reset the link when EEE setting changedAkeem G Abodunrin2013-08-221-1/+3
|/ | | | | | | | This patch resets the link, if link is up - whenever users enable or disable EEE Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* net: phy: mdio-octeon: use platform_set_drvdata()Libo Chen2013-08-211-1/+1
| | | | | | | | | Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_set_drvdata() with &pdev->dev, so we can directly pass a struct platform_device. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: irda: pxaficp_ir: use platform_set_drvdata()Libo Chen2013-08-211-1/+1
| | | | | | | | | Use the wrapper functions for getting and setting the driver data using platform_device instead of using deva_set_drvdata() with &pdev->dev, so we can directly pass a struct platform_device. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-davem' of git://gitorious.org/linux-can/linux-can-nextDavid S. Miller2013-08-214-87/+75
|\ | | | | | | | | | | | | | | | | | | | | | | Marc Kleine-Budde says: ==================== this pull-request for net-next consists of a series by Alexander Shiyan, he cleans up the mcp251x driver. As the first patch touches arch/arm/mach-pxa, it's acked by Haojian Zhuang. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * can: mcp251x: Allow tuning SPI mode and limit maximal SPI speedAlexander Shiyan2013-08-211-1/+5
| | | | | | | | | | | | | | | | Patch allow to use different mode settings for SPI (MODE3 for example) and limit maximal speed according to IC datasheet. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * can: mcp251x: Eliminate irq_flags from driver platform_dataAlexander Shiyan2013-08-212-10/+1
| | | | | | | | | | | | | | | | Flags is not used by boards, so remove this field from the driver platform_data. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * can: mcp251x: Replace power callbacks with regulator APIAlexander Shiyan2013-08-214-76/+69
| | | | | | | | | | | | | | | | | | | | This patch replaces power callbacks to the regulator API. To improve the readability of the code, helper for the regulator enable/disable was added. Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
* | stmmac: remove useless csum flagGiuseppe CAVALLARO2013-08-212-3/+1
| | | | | | | | | | | | | | | | | | This patch removes the no_csum_insertion private parameter that is not used anymore and, also, the "likely" annotation from the condition that is not in a critical path. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Cc: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: emac: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-2/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: davinci_mdio: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-2/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: xilinx_emaclite: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-1/+0
| | | | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Acked-by: Michal Simek <monstr@monstr.eu> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sunhme: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-2/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sunbmac: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-2/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: fec_mpc52xx_phy: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-1/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: ucc_geth: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-1/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: fsl_pq_mdio: remove unnecessary dev_set_drvdata()Libo Chen2013-08-211-2/+0
| | | | | | | | | | | | | | | | Unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'tuntap'David S. Miller2013-08-212-6/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pavel Emelyanov says: ==================== tun: Some bits required for tun's checkpoint-restore (v2) After taking a closer look on tun checkpoint-restore I've found several issues with the tun's API that make it impossible to dump and restore the state of tun device and attached tun-files. The proposed API changes are all about extending the existing ioctl-based stuff. Patches fit today's net-next. This v2 has David's comments about patch #1 fixed. All the rest is the same. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tun: Get skfilter layoutPavel Emelyanov2013-08-212-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only thing we may have from tun device is the fprog, whic contains the number of filter elements and a pointer to (user-space) memory where the elements are. The program itself may not be available if the device is persistent and detached. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tun: Allow to skip filter on attachPavel Emelyanov2013-08-212-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a small problem with sk-filters on tun devices. Consider an application doing this sequence of steps: fd = open("/dev/net/tun"); ioctl(fd, TUNSETIFF, { .ifr_name = "tun0" }); ioctl(fd, TUNATTACHFILTER, &my_filter); ioctl(fd, TUNSETPERSIST, 1); close(fd); At that point the tun0 will remain in the system and will keep in mind that there should be a socket filter at address '&my_filter'. If after that we do fd = open("/dev/net/tun"); ioctl(fd, TUNSETIFF, { .ifr_name = "tun0" }); we most likely receive the -EFAULT error, since tun_attach() would try to connect the filter back. But (!) if we provide a filter at address &my_filter, then tun0 will be created and the "new" filter would be attached, but application may not know about that. This may create certain problems to anyone using tun-s, but it's critical problem for c/r -- if we meet a persistent tun device with a filter in mind, we will not be able to attach to it to dump its state (flags, owner, address, vnethdr size, etc.). The proposal is to allow to attach to tun device (with TUNSETIFF) w/o attaching the filter to the tun-file's socket. After this attach app may e.g clean the device by dropping the filter, it doesn't want to have one, or (in case of c/r) get information about the device with tun ioctls. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tun: Report whether the queue is attached or notPavel Emelyanov2013-08-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiqueue tun devices allow to attach and detach from its queues while keeping the interface itself set on file. Knowing this is critical for the checkpoint part of criu project. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | tun: Add ability to create tun device with given indexPavel Emelyanov2013-08-212-1/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tun devices cannot be created with ifidex user wants, but it's required by checkpoint-restore project. Long time ago such ability was implemented for rtnl_ops-based interface for creating links (9c7dafbf net: Allow to create links with given ifindex), but the only API for creating and managing tuntap devices is ioctl-based and is evolving with adding new ones (cde8b15f tuntap: add ioctl to attach or detach a file form tuntap device). Following that trend, here's how a new ioctl that sets the ifindex for device, that _will_ be created by TUNSETIFF ioctl looks like. So those who want a tuntap device with the ifindex N, should open the tun device, call ioctl(fd, TUNSETIFINDEX, &N), then call TUNSETIFF. If the index N is busy, then the register_netdev will find this out and the ioctl would be failed with -EBUSY. If setifindex is not called, then it will be generated as before. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/mlx4_en: Reduce scope of local variables in mlx4_en_xmitAmir Vadai2013-08-211-3/+7
| | | | | | | | | | | | | | Some variables could have their scope reduced. Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/mlx4_en: Fix handling of dma_map failureAmir Vadai2013-08-211-35/+62
| | | | | | | | | | | | | | | | | | | | Result of skb_frag_dma_map() and dma_map_single() wasn't checked. Added a check and proper handling in case of failure. Moved the mapping to the beginning of mlx4_en_xmit(), before updating the ring data structure to make error handling easier. Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/mlx4_en: Notify user when TX ring in error stateAmir Vadai2013-08-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | When hardware gets into error state, must notify user about it. When QP in error state no traffic will be tx'ed from the attached tx_ring. Driver should know how to recover from this unexpected state. I will send later on the recovery flow, but having the print shouldn't be delayed. Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/mlx4_en: Disable global flow control when PFC enabledEugenia Emantayev2013-08-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | Fix a bug when FC and PFC are enabled/disabled at the same time. According to ConnectX-3 Programmer Manual these two features are mutial exclusive. So make sure when enabling PFC to turn off global FC and vise versa. Otherwise it hurts the performance. Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/mlx4_en: Coding style cleanup in mlx4_en_dcbnl_ieee_setpfc()Amir Vadai2013-08-211-6/+9
| | | | | | | | | | | | | | Fix some coding style issues in this function. Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | qlcnic: Update version to 5.3.48Himanshu Madhani2013-08-211-2/+2
| | | | | | | | | | Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | qlcnic: Implement ndo_get_phys_port_id for 82xx adapterShahed Shaikh2013-08-217-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | Each function driver instance uses the MAC address of the lowest function belonging to that physical port as a unique port identifier. This port identifier is read and cached in driver during probe and provided to user space through ndo_get_phys_port_id() Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | qlcnic: Enable diagnostic test for multiple Tx queues.Himanshu Madhani2013-08-216-14/+34
| | | | | | | | | | | | | | | | | | o Enable diagnostic test via ethtool and QConvergeConsole application when Multiple Tx queues are enabled on 82xx series adapters. Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | qlcnic: Enable Tx queue changes using ethtool for 82xx Series adapter.Himanshu Madhani2013-08-218-35/+145
| | | | | | | | | | | | | | | | | | o using ethtool {set|get}_channel option, user can change number of Tx queues for 82xx Series adapter. o updated ethtool -S <ethX> option to display stats from each Tx queue. Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud