aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet
AgeCommit message (Collapse)AuthorFilesLines
2012-07-10bnx2: Fix bug in bnx2_free_tx_skbs().Michael Chan1-3/+3
In rare cases, bnx2x_free_tx_skbs() can unmap the wrong DMA address when it gets to the last entry of the tx ring. We were not using the proper macro to skip the last entry when advancing the tx index. Reported-by: Zongyun Lai <[email protected]> Reviewed-by: Jeffrey Huang <[email protected]> Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Bumped driver version to 1.00.00.31Jitendra Kalsaria1-1/+1
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Refactoring of ethtool stats.Jitendra Kalsaria1-138/+157
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Moving low level frame error to ethtool statistics.Jitendra Kalsaria3-27/+58
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Fixed double pci free upon tx_ring->q allocation failure.Jitendra Kalsaria1-4/+6
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Added missing case statement to ethtool get_strings.Jitendra Kalsaria1-0/+5
Missing case was causing ethtool self test to print garbage value in extra info section. Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Clean up ethtool set WOL routine.Jitendra Kalsaria1-9/+0
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Fix ethtool WOL calls to operate only on devices that support WOL.Jitendra Kalsaria2-4/+18
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Cleanup atomic queue threshold check.Jitendra Kalsaria2-5/+1
Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: Fix TX queue stoppage due to full condition.Jitendra Kalsaria1-1/+11
TX queue was being stopped at beginning of send path instead of at the end when last descriptor is used. Signed-off-by: Jitendra Kalsaria <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10net: calxedaxgmac: enable rx cut-thru modeRob Herring1-2/+3
Enabling RX cut-thru mode yields better performance as received frames start getting written to memory before a whole frame is received. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10net: calxedaxgmac: set outstanding AXI bus transactions to 8Rob Herring1-1/+1
Increase the number of outstanding read and write AXI transactions from 1 to 8 for better performance. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10net: calxedaxgmac: fix hang on rx refillRob Herring1-15/+12
Fix intermittent hangs in xgmac_rx_refill. If a ring buffer entry already had an skb allocated, then xgmac_rx_refill would get stuck in a loop. This can happen on a rx error when we just leave the skb allocated to the entry. [ 7884.510000] INFO: rcu_preempt detected stall on CPU 0 (t=727315 jiffies) [ 7884.510000] [<c0010a59>] (unwind_backtrace+0x1/0x98) from [<c006fd93>] (__rcu_pending+0x11b/0x2c4) [ 7884.510000] [<c006fd93>] (__rcu_pending+0x11b/0x2c4) from [<c0070b95>] (rcu_check_callbacks+0xed/0x1a8) [ 7884.510000] [<c0070b95>] (rcu_check_callbacks+0xed/0x1a8) from [<c0036abb>] (update_process_times+0x2b/0x48) [ 7884.510000] [<c0036abb>] (update_process_times+0x2b/0x48) from [<c004e8fd>] (tick_sched_timer+0x51/0x94) [ 7884.510000] [<c004e8fd>] (tick_sched_timer+0x51/0x94) from [<c0045527>] (__run_hrtimer+0x4f/0x1e8) [ 7884.510000] [<c0045527>] (__run_hrtimer+0x4f/0x1e8) from [<c0046003>] (hrtimer_interrupt+0xd7/0x1e4) [ 7884.510000] [<c0046003>] (hrtimer_interrupt+0xd7/0x1e4) from [<c00101d3>] (twd_handler+0x17/0x24) [ 7884.510000] [<c00101d3>] (twd_handler+0x17/0x24) from [<c006be39>] (handle_percpu_devid_irq+0x59/0x114) [ 7884.510000] [<c006be39>] (handle_percpu_devid_irq+0x59/0x114) from [<c0069aab>] (generic_handle_irq+0x17/0x2c) [ 7884.510000] [<c0069aab>] (generic_handle_irq+0x17/0x2c) from [<c000cc8d>] (handle_IRQ+0x35/0x7c) [ 7884.510000] [<c000cc8d>] (handle_IRQ+0x35/0x7c) from [<c033b153>] (__irq_svc+0x33/0xb8) [ 7884.510000] [<c033b153>] (__irq_svc+0x33/0xb8) from [<c0244b06>] (xgmac_rx_refill+0x3a/0x140) [ 7884.510000] [<c0244b06>] (xgmac_rx_refill+0x3a/0x140) from [<c02458ed>] (xgmac_poll+0x265/0x3bc) [ 7884.510000] [<c02458ed>] (xgmac_poll+0x265/0x3bc) from [<c029fcbf>] (net_rx_action+0xc3/0x200) [ 7884.510000] [<c029fcbf>] (net_rx_action+0xc3/0x200) from [<c0030cab>] (__do_softirq+0xa3/0x1bc) Signed-off-by: Rob Herring <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10net: calxedaxgmac: fix net timeout recoveryRob Herring1-0/+1
Fix net tx watchdog timeout recovery. The descriptor ring was reset, but the DMA engine was not reset to the beginning of the ring. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10ll_temac: remove unnecessary setting of skb->devJon Mason1-1/+0
skb->dev is being unnecessarily set by the driver on packet recieve. eth_type_trans already sets skb->dev to the proper value and it is not referenced anywhere else in the dirver, thus making its setting unnecessary. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10sunhme: remove unnecessary setting of skb->devJon Mason1-3/+0
skb->dev is being unnecessarily set during ring init and skb alloc in rx. It is already being set to the proper value when eth_type_trans is called on packet receive, and the skb->dev is not referenced anywhere else in the code. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10sungem: remove unnecessary setting of skb->devJon Mason1-1/+0
skb->dev is being unnecessarily set by the driver's skb alloc routine (which is called in init and during rx). It is already being set to the proper value when eth_type_trans is called on packet receive, and the skb->dev is not referenced anywhere else in the code. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10sunbmac: remove unnecessary setting of skb->devJon Mason1-2/+0
skb->dev is being unnecessarily set during ring init and skb alloc in rx. It is already being set to the proper value when eth_type_trans is called on packet receive, and the skb->dev is not referenced anywhere else in the code. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlge: remove unnecessary setting of skb->devJon Mason1-2/+0
skb->dev is being unnecessarily set by the driver on packet recieve. eth_type_trans already sets skb->dev to the proper value and it is not referenced anywhere else in the dirver, thus making its setting unnecessary. Signed-off-by: Jon Mason <[email protected]> Cc: Anirban Chakraborty <[email protected]> Cc: Jitendra Kalsaria <[email protected]> Cc: Ron Mercer <[email protected]> Cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
2012-07-10qlcnic: remove unnecessary setting of skb->devJon Mason1-2/+0
skb->dev is being unnecessarily set before calling eth_type_trans. eth_type_trans already sets skb->dev to the proper value, thus making this unnecessary. Signed-off-by: Jon Mason <[email protected]> Cc: Anirban Chakraborty <[email protected]> Cc: Sony Chacko <[email protected]> Cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
2012-07-10ksz884x: remove unnecessary setting of skb->devJon Mason1-3/+1
skb->dev is being unnecessarily set during ring init. It is already being set to the proper value when eth_type_trans is called on packet receive, and the skb->dev is not referenced anywhere else in the code. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10lantiq_etop: remove unnecessary setting of skb->devJon Mason1-1/+0
skb->dev is being unnecessarily set before calling eth_type_trans. eth_type_trans already sets skb->dev to the proper value, thus making this unnecessary. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10netxen: remove unnecessary setting of skb->devJon Mason1-2/+0
skb->dev is being unnecessarily set by the driver on packet recieve. eth_type_trans already sets skb->dev to the proper value and it is not referenced anywhere else in the dirver, thus making its setting unnecessary. Signed-off-by: Jon Mason <[email protected]> Cc: Sony Chacko <[email protected]> Cc: Rajesh Borundia <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10enic: remove unnecessary setting of skb->devJon Mason1-2/+0
skb->dev is being unnecessarily set after calling eth_type_trans. eth_type_trans already sets skb->dev to the proper value, thus making this unnecessary. Signed-off-by: Jon Mason <[email protected]> Cc: Christian Benvenuti <[email protected]> Cc: Roopa Prabhu <[email protected]> Cc: Neel Patel <[email protected]> Cc: Nishank Trivedi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10lance: remove unnecessary setting of skb->devJon Mason1-3/+2
skb->dev is being unnecessarily set during ring init. It is already being set to the proper value when eth_type_trans is called on packet receive, and the skb->dev is not referenced anywhere else in the code. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10vxge/s2io: remove dead URLsJon Mason1-3/+1
URLs to neterion.com and s2io.com no longer resolve. Remove all references to these URLs in the driver source and documentation. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10drivers/net/ethernet: Fix non-kernel-doc comments with kernel-doc start markersBen Hutchings36-892/+342
Convert doxygen (or similar) formatted comments to kernel-doc or unformatted comment. Delete a few that are content-free. Signed-off-by: Ben Hutchings <[email protected]> Acked-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functionsBen Hutchings44-410/+378
Fix incorrect start markers, wrapped summary lines, missing section breaks, incorrect separators, and some name mismatches. Delete a few that are content-free. Signed-off-by: Ben Hutchings <[email protected]> Acked-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-10net/mlx4_core: Initialize IB port capabilities for all slavesJack Morgenstein1-0/+11
With IB SR-IOV, each slave has its own separate copy of the port capabilities flags. For example, the master can run a subnet manager (which causes the IsSM bit to be set in the master's port capabilities) without affecting the port capabilities seen by the slaves (the IsSM bit will be seen as cleared in the slaves). Also add a static inline mlx4_master_func_num() to enhance readability of the code. Signed-off-by: Jack Morgenstein <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-07-10mlx4: Use port management change event instead of smp_snoopJack Morgenstein5-69/+27
The port management change event can replace smp_snoop. If the capability bit for this event is set in dev-caps, the event is used (by the driver setting the PORT_MNG_CHG_EVENT bit in the async event mask in the MAP_EQ fw command). In this case, when the driver passes incoming SMP PORT_INFO SET mads to the FW, the FW generates port management change events to signal any changes to the driver. If the FW generates these events, smp_snoop shouldn't be invoked in ib_process_mad(), or duplicate events will occur (once from the FW-generated event, and once from smp_snoop). In the case where the FW does not generate port management change events smp_snoop needs to be invoked to create these events. The flow in smp_snoop has been modified to make use of the same procedures as in the fw-generated-event event case to generate the port management events (LID change, Client-rereg, Pkey change, and/or GID change). Port management change event handling required changing the mlx4_ib_event and mlx4_dispatch_event prototypes; the "param" argument (last argument) had to be changed to unsigned long in order to accomodate passing the EQE pointer. We also needed to move the definition of struct mlx4_eqe from net/mlx4.h to file device.h -- to make it available to the IB driver, to handle port management change events. Signed-off-by: Jack Morgenstein <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2012-07-10r8169: fix argument in rtl_hw_init_8168g.Hayes Wang1-2/+2
Signed-off-by: Hayes Wang <[email protected]>
2012-07-09Merge branch 'davem-next.r8169' of git://violet.fr.zoreil.com/romieu/linuxDavid S. Miller1-318/+666
Francois Romieu (4): r8169: mdio_ops signature change. r8169: csi_ops signature change. r8169: ephy, eri and efuse functions signature changes. r8169: abstract out loop conditions. Hayes Wang (2): r8169: add RTL8106E support. r8169: support RTL8168G Signed-off-by: David S. Miller <[email protected]>
2012-07-09gianfar: fix potential sk_wmem_alloc imbalanceEric Dumazet1-4/+3
commit db83d136d7f753 (gianfar: Fix missing sock reference when processing TX time stamps) added a potential sk_wmem_alloc imbalance If the new skb has a different truesize than old one, we can get a negative sk_wmem_alloc once new skb is orphaned at TX completion. Now we no longer early orphan skbs in dev_hard_start_xmit(), this probably can lead to fatal bugs. Signed-off-by: Eric Dumazet <[email protected]> Tested-by: Paul Gortmaker <[email protected]> Cc: Manfred Rudigier <[email protected]> Cc: Claudiu Manoil <[email protected]> Cc: Jiajun Wu <[email protected]> Cc: Andy Fleming <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09drivers/net/ethernet/broadcom/cnic.c: remove invalid reference to list ↵Julia Lawall1-1/+2
iterator variable If list_for_each_entry, etc complete a traversal of the list, the iterator variable ends up pointing to an address at an offset from the list head, and not a meaningful structure. Thus this value should not be used after the end of the iterator. There does not seem to be a meaningful value to provide to netdev_warn. Replace with pr_warn, since pr_err is used elsewhere. This problem was found using Coccinelle (http://coccinelle.lip6.fr/). Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09net/fsl_pq_mdio: use spin_event_timeout() to poll the indicator registerTimur Tabi1-10/+19
Macro spin_event_timeout() was designed for simple polling of hardware registers with a timeout, so use it when we poll the MIIMIND register. This allows us to return an error code instead of polling indefinitely. Note that PHY_INIT_TIMEOUT is a count of loop iterations, so we can't use it for spin_event_timeout(), which asks for microseconds. Signed-off-by: Timur Tabi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09r6040: use module_pci_driver macroDevendra Naga1-14/+1
as the manual of module_pci_driver says that it can be used when the init and exit functions of the module does nothing but the pci_register_driver and pci_unregister_driver. use it for rdc's r6040 driver, as the init and exit paths does as above, and also this reduces a little amount of code. Signed-off-by: Devendra Naga <[email protected]> Acked-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09bnx2x: populate skb->l4_rxhashEric Dumazet2-4/+16
l4_rxhash is set on skb when rxhash is obtained from canonical 4-tuple over transport ports/addresses. We can set skb->l4_rxhash for all incoming TCP packets on bnx2x for free, as cqe status contains a hash type information. Signed-off-by: Eric Dumazet <[email protected]> Cc: Eilon Greenstein <[email protected]> Cc: Willem de Bruijn <[email protected]> Acked-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09r8169: support RTL8168GHayes Wang1-0/+291
For RTL8111G, the settings of phy and firmware are replaced with ocp functions. r8168g_mdio_{write / read} redirects the relative settings to suitable ocp functions. A per-device variable is needed to evaluate the real address of ocp functions. rtl_writephy(tp, 0x1f, xxxx) is dedicated to keeping said variable up-to-date. Signed-off-by: Hayes Wang <[email protected]> Acked-by: Francois Romieu <[email protected]>
2012-07-09r8169: abstract out loop conditions.Francois Romieu1-181/+186
Twelve functions can fail silently. Now they have a chance to complain. Macro and pasting abuse has been kept at a level where tags and friends should not be hurt. Signed-off-by: Francois Romieu <[email protected]>
2012-07-09r8169: ephy, eri and efuse functions signature changes.Francois Romieu1-111/+100
Signed-off-by: Francois Romieu <[email protected]>
2012-07-09r8169: csi_ops signature change.Francois Romieu1-11/+12
Signed-off-by: Francois Romieu <[email protected]>
2012-07-09r8169: mdio_ops signature change.Francois Romieu1-20/+26
Further changes need more context down in the call stack. Signed-off-by: Francois Romieu <[email protected]>
2012-07-09r8169: add RTL8106E support.Hayes Wang1-0/+56
Signed-off-by: Hayes Wang <[email protected]> Acked-by: Francois Romieu <[email protected]>
2012-07-09stmmac: Fix for higher mtu size handlingDeepak Sikri1-1/+2
For the higher mtu sizes requiring the buffer size greater than 8192, the buffers are sent or received using multiple dma descriptors/ same descriptor with option of multi buffer handling. It was observed during tests that the driver was missing on data packets during the normal ping operations if the data buffers being used catered to jumbo frame handling. The memory barrriers are added in between preparation of dma descriptors in the jumbo frame handling path to ensure all instructions before enabling the dma are complete. Signed-off-by: Deepak Sikri <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09stmmac: Fix for nfs hang on multiple rebootDeepak Sikri1-0/+3
It was observed that during multiple reboots nfs hangs. The status of receive descriptors shows that all the descriptors were in control of CPU, and none were assigned to DMA. Also the DMA status register confirmed that the Rx buffer is unavailable. This patch adds the fix for the same by adding the memory barriers to ascertain that the all instructions before enabling the Rx or Tx DMA are completed which involves the proper setting of the ownership bit in DMA descriptors. Signed-off-by: Deepak Sikri <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09cnic: Don't use netdev->base_addrMichael Chan1-2/+5
commit c0357e975afdbbedab5c662d19bef865f02adc17 bnx2: stop using net_device.{base_addr, irq}. removed netdev->base_addr so we need to update cnic to get the MMIO base address from pci_resource_start(). Otherwise, mmap of the uio device will fail. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09be2net: Fix EndianLi RongQing1-1/+1
ETH_P_IP is host Endian, skb->protocol is big Endian, when compare them, we should change ETH_P_IP from host endian to big endian, htons, not ntohs. CC: Somnath Kotur <[email protected]> Signed-off-by: Li RongQing <[email protected]> Acked-by: Somnath Kotur <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09ixgbe: DCB and SR-IOV can not co-exist and will cause hangsAlexander Duyck1-0/+5
DCB and SR-IOV cannot currently be enabled at the same time as the queueing schemes are incompatible. If they are both enabled it will result in Tx hangs since only the first Tx queue will be able to transmit any traffic. This simple fix for this is to block us from enabling TCs in ixgbe_setup_tc if SR-IOV is enabled. This change will be reverted once we can support SR-IOV and DCB coexistence. Signed-off-by: Alexander Duyck <[email protected]> Acked-by: John Fastabend <[email protected]> Tested-by: Phil Schmitt <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09sky2: Fix for interrupt handlerMirko Lindner1-1/+3
Re-enable interrupts if it is not our interrupt Signed-off-by: Mirko Lindner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-07-09sky2: Added support for Optima EEEMirko Lindner2-1/+18
This patch adds support for the Optima EEE chipset. Signed-off-by: Mirko Lindner <[email protected]> Signed-off-by: David S. Miller <[email protected]>