aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)AuthorFilesLines
2010-02-26cnic: Finetune iSCSI connection set up.Eddie Wai2-2/+17
Initialize IP ID and handle some additional connection errors. Signed-off-by: Eddie Wai <waie@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26ixgbe: Do not allocate too many netdev txqueuesJohn Fastabend1-1/+13
Instead of allocating 128 struct netdev_queue per device, use the minimum value between 128 and the number of possible txq's, to reduce ram usage and "tc -s -d class shod dev .." output. This patch fixes Eric Dumazet's patch to set the TX queues to the correct minimum. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26ixgbe: do not stop tx queues in ixgbe_set_tsoJohn Fastabend1-2/+0
Disabling TSO can cause the dev_watchdog timer to be triggered because when TSO is disabled netif_tx_stop_all_queues is called. If the watchdog timer fires while the queues are stopped and traffic has not recently been sent on a paticular queue this is falsly identified as a hang and ndo_tx_timeout() is called. This is ocossionally seen during testing. This removes the netif_tx_stop_all_queues() it is not needed. The scheduler submits skb's with dev_hard_start_xmit(), this checks if netif_needs_gso and if so it calls dev_gso_segment. Disabling TSO will cause dev_hard_start_xmit() to do the gso processing. However ixgbe does not use the features flags to determine if it needs to use tso or not instead it uses skb->gso_size so ixgbe will process these frames correctly regardless of the netdev features flag. Signed-off-by: John Fastabend <john.r.fastabend@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>
2010-02-26ixgbe: Fix DMA mapping/unmapping issues when HWRSC is enabled on IOMMU ↵Mallikarjuna R Chilakala1-3/+29
enabled kernels Work around 82599 HW issue when HWRSC is enabled on IOMMU enabled kernels. 82599 HW is updating the header information after setting the descriptor to done, resulting DMA mapping/unmapping issues on IOMMU enabled systems. To work around the issue delay unmapping of first packet that carries the header information until end of packet is reached. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26greth: convert to netdev_tx_tkirjanov@gmail.com1-4/+8
Convert to netdev_tx_t Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26sis190: handle DMA mapping errorskirjanov@gmail.com1-8/+19
Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26tc35815: Fix double locking on NAPIAtsushi Nemoto1-2/+11
Isolate spinlock for tx and rx to resolve double-locking. This is potential bug while this controller does not exist on any SMP platforms, but lockdep or rt-preempt reveals this bug. Reported-by: Ralf Roesch <ralf.roesch@rw-gmbh.de> Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26isa-skelton: Remove a wrong netif_wake_queue() callAtsushi Nemoto1-1/+0
The netif_wake_queue() is called correctly (i.e. only on !txfull condition) from net_tx(). So Unconditional call to the netif_wake_queue() here is wrong. This might cause calling of start_xmit routine on txfull state and trigger tx-ring overflow. This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687 ("tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON"). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26octeon: convert to use netdev_for_each_mc_addrJiri Pirko1-6/+1
Hmm so actually my original patch including this bit was correct, "list = list->next;" confused me :) - will send patch correcting that in a few. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26net: convert multiple drivers to use netdev_for_each_mc_addr, part6Jiri Pirko18-77/+42
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2Jiri Pirko27-105/+82
removed some needless checks and also corrected bug in lp486e (dmi was passed instead of dmi->dmi_addr) Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26can: netlink support for bus-error reporting and countersWolfgang Grandegger2-3/+28
This patch makes the bus-error reporting configurable and allows to retrieve the CAN TX and RX bus error counters via netlink interface. I have added support for the SJA1000. The TX and RX bus error counters are also copied to the data fields 6..7 of error messages when state changes are reported. Signed-off-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26drivers/net/myri10ge: Use pr_<level> and netdev_<level>Joe Perches1-116/+67
Add #define pr_fmt(fmt) Convert logging messages to pr_<level> and netdev_<level> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26drivers/net/chelsio: Use pr_<level>, netif_msg_<type>Joe Perches7-72/+56
Convert CH_<level> and CH_DBG uses to pr_<level> and netif equivalents Remove CH_<level> and CH_DBG macro definitions Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-26KS8695: Don't call netif_carrier_off() from ndo_stop()Yegor Yefremov1-1/+0
netif_carrier_on() and netif_carrier_off() should be called from link status interrupt handler Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-25Merge branch 'master' of ↵David S. Miller79-1474/+2182
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.h drivers/net/wireless/rt2x00/rt2800pci.c
2010-02-25Merge branch 'master' of ↵David S. Miller10-30/+78
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-02-25Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds1-1/+1
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (41 commits) of: remove undefined request_OF_resource & release_OF_resource of/sparc: Remove sparc-local declaration of allnodes and devtree_lock of: move definition of of_chosen into common code. of: remove unused extern reference to devtree_lock of: put default string compare and #a/s-cell values into common header of/flattree: Don't assume HAVE_LMB of: protect linux/of.h with CONFIG_OF proc_devtree: fix THIS_MODULE without module.h of: Remove old and misplaced function declarations of/flattree: Make the kernel accept ePAPR style phandle information of/flattree: endian-convert members of boot_param_header of: assume big-endian properties, adding conversions where necessary of: use __be32 for cell value accessors of/flattree: use OF_ROOT_NODE_{SIZE,ADDR}_CELLS DEFAULT for fdt parsing of/flattree: use callback to setup initrd from /chosen proc_devtree: include linux/of.h of: make set_node_proc_entry private to proc_devtree.c of: include linux/proc_fs.h of/flattree: merge early_init_dt_scan_memory() common code of: add 'of_' prefix to machine_is_compatible() ...
2010-02-24RDMA/cxgb3: Doorbell overflow avoidance and recoverySteve Wise6-5/+93
T3 hardware doorbell FIFO overflows can cause application stalls due to lost doorbell ring events. This has been seen when running large NP IMB alltoall MPI jobs. The T3 hardware supports an xon/xoff-type flow control mechanism to help avoid overflowing the HW doorbell FIFO. This patch uses these interrupts to disable RDMA QP doorbell rings when we near an overflow condition, and then turn them back on (and ring all the active QP doorbells) when when the doorbell FIFO empties out. In addition if an doorbell ring is dropped by the hardware, the code will now recover. Design: cxgb3: - enable these DB interrupts - in the interrupt handler, schedule work tasks to call the ULPs event handlers with the new events. - ring all the qset txqs when an overflow is detected. iw_cxgb3: - disable db ringing on all active qps when we get the DB_FULL event - enable db ringing on all active qps and ring all active dbs when we get the DB_EMPTY event - On DB_DROP event: - disable db rings in the event handler - delay-schedule a work task which rings and enables the dbs on all active qps. - in post_send and post_recv logic, don't ring the db if it's disabled. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2010-02-23iwlwifi: increase command buffer sizeAbhijeet Kolekar2-4/+8
Increase the buffer size for commands with "huge" bit set. This has been recently observed for 6050 cards where for even with huge bit set few commands were not properly allocated memory with the command overwriting the buffer allocated for it.. Also add a check to see if command size exceeds the maximum allowable size. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-23Revert "iwlwifi: Monitor and recover the aggregation TX flow failure"Reinette Chatre3-62/+1
This reverts commit 1db5950f1d0b82e07371b211a48317b8972da063. The goal of "iwlwifi: Monitor and recover the aggregation TX flow failure" is to first detect when data transmission stalls and then to recover from this situation with a reset of the radio or the firmware, depending on how bad the transmission failures are. Unfortunately we have found that this change causes excessive resets with its current detection algorithm. It also performs its recovery action when none is really needed, like when we are not associated. Revert this change until the issues have been addressed. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-23Merge branch 'master' of ↵David S. Miller5-9/+27
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
2010-02-23tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ONAtsushi Nemoto1-1/+0
The netif_wake_queue() is called correctly (i.e. only on !txfull condition) from txdone routine. So Unconditional call to the netif_wake_queue() here is wrong. This might cause calling of start_xmit routine on txfull state and trigger BUG_ON. This bug does not happen when NAPI disabled. After txdone there must be at least one free tx slot. But with NAPI, this is not true anymore and the BUG_ON can hits on heavy load. In this driver NAPI was enabled on 2.6.33-rc1 so this is regression from 2.6.32 kernel. Reported-by: Ralf Roesch <ralf.roesch@rw-gmbh.de> Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-23cdc_ether: new PID for Ericsson C3607w to the whitelist (resubmit)Torgny Johansson1-0/+5
This patch adds a new vid/pid to the cdc_ether whitelist. Device added: - Ericsson Mobile Broadband variant C3607w Signed-off-by: Torgny Johansson <torgny.johansson@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-23e1000: Fix DMA mapping error handling on RXAnton Blanchard1-1/+18
Check for error return from pci_map_single/pci_map_page and clean up. With this and the previous patch the driver was able to handle a significant percentage of errors (I set the fault injection rate to 10% and could still download large files at a reasonable speed). Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-23e1000: correct wrong coding style for "else"Jiri Pirko1-2/+1
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22can:ti_hecc: Add pm hook-upSriram1-3/+48
Added the suspend and resume implementation in the HECC (CAN) driver. Signed-off-by: K R Baalaaji <krbaalaaji@ti.com> Signed-off-by: Sriramakrishnan <srk@ti.com> Acked-by: Anant Gole <anantgole@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22net: convert multiple drivers to use netdev_for_each_mc_addr, part4Jiri Pirko29-98/+69
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22e1000: convert to use netdev_for_each_mc_addrJiri Pirko1-20/+17
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22net: convert multiple drivers to use netdev_for_each_mc_addr, part3Jiri Pirko22-74/+50
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22net/arm: convert to use netdev_for_each_mc_addrJiri Pirko5-30/+28
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22drivers/net/typhoon.c: Use (pr|netdev)_<level> macro helpersJoe Perches1-147/+96
David Dillow took my suggestions and improved on them. Here is this latest version. Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt Remove #define PFX Remove #define ERR_PFX Remove now unused member name from struct typhoon Use pr_<level> Use netdev_<level> Coalesce long formats Remove version information Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: Joe Perches <joe@perches.com> Acked-by: David Dillow <dave@thedillows.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22b44: use netdev_alloc_skb instead of dev_alloc_skbHauke Mehrtens1-1/+1
The conversion in bf0dcbd929faf036f1a4f2918090344d0e249cf5 missed the new allocation in b44_rx. This patch was used in OpenWRT for a long time. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22b44: Set PHY address to NO_PHY if reset fails.Hauke Mehrtens1-1/+5
Do a PHY reset to test if there is an active phy and set the PHY address to B44_PHY_ADDR_NO_PHY in case of an not active phy. This is needed for the Linksys WRTSL54GS and Asus WL-500W. This patch was used in OpenWRT for a long time. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22ixgbe: prevent speculative processing of descriptors before readyMilton Miller1-0/+1
The PowerPC architecture does not require loads to independent bytes to be ordered without adding an explicit barrier. In ixgbe_clean_rx_irq we load the status bit then load the packet data. With packet split disabled if these loads go out of order we get a stale packet, but we will notice the bad sequence numbers and drop it. The problem occurs with packet split enabled where the TCP/IP header and data are in different descriptors. If the reads go out of order we may have data that doesn't match the TCP/IP header. Since we use hardware checksumming this bad data is never verified and it makes it all the way to the application. This bug was found during stress testing and adding this barrier has been shown to fix it. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Don Skidmore <donald.c.skidmore@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-22mwl8k: convert to new station add/remove callbacksJohannes Berg1-84/+22
This converts mwl8k to use the new station add/remove callbacks instead of using the old sta_notify callback. The new callbacks can sleep, so a lot of code can be removed now. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-22iwlwifi: sanity check before counting number of tfds can be freeStanislaw Gruszka2-5/+7
Check the frame control for ieee80211_is_data_qos() is true before counting the number of tfds can be free, the tfds_in_queue only increment when ieee80211_is_data_qos() is true before transmit; so it should only decrement if the type match. Remove ieee80211_is_data_qos check for frame_ctrl in tx_resp to avoid invalid information pass from uCode. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> CC: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-22iwlwifi: error checking for number of tfds in queueWey-Yi Guy4-4/+20
When receive reply_tx and ready to decrement the count for number of tfds in queue, do error checking to prevent error condition and tfds_in_queue become negative number. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> CC: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-20eepro: fix netdev_mc_count conversionAlexander Beregalov1-1/+1
Fix commit 4cd24eaf0 (net: use netdev_mc_count and netdev_mc_empty when appropriate) Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19be2net: Bump the driver version numberAjit Khaparde1-1/+1
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19be2net: Maintain tx and rx counters in driverAjit Khaparde2-9/+11
For certain skews of the BE adapter, H/W Tx and Rx counters could be common for more than one interface. Add Tx and Rx counters in the adapter structure (to maintain stats on a per interfae basis). Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19be2net: update copyright datesAjit Khaparde6-6/+6
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19r8169: enable 64-bit DMA by default for PCI Express devices (v2)Robert Hancock1-7/+14
Currently use of 64-bit DMA is disabled in r8169 unless the user passes the use_dac module option. This is reasonable for conventional PCI devices where broken chipsets may not handle dual-address-cycle transfers properly for 32-bit slots and so this may not be safe. However, PCI Express should not have this problem and not using 64-bit DMA results in DMA transfers needlessly using the IOMMU or SWIOTLB. Set the use_dac module parameter to a new default value of -1 which results in 64-bit DMA being enabled by default for PCI Express devices only. Signed-off-by: Robert Hancock <hancockrwd@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19sfc: SFE4002/SFN4112F: Widen temperature and voltage tolerancesBen Hutchings1-18/+27
The temperature and voltage limits currently set on these boards are too conservative and will cause the driver to stop the net device erroneously in some systems. Based on a review of the chip datasheets and advice from the designer of these boards: - Raise the maximum board temperatures to the specified maximum ambient temperatures for their PHYs plus the expected temperature bias of the board - Raise the maximum controller temperature to 90 degrees - Lower the minimum temperatures to 0 degrees - Widen the voltage tolerances to at least +/- 10% Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19sfc: Fix sign of efx_mcdi_poll_reboot() error in efx_mcdi_poll()Ben Hutchings1-1/+1
efx_mcdi_poll() uses positive error numbers, matching the MCDI protocol. It must negate the result of efx_mcdi_poll_reboot() which returns the usual negative error numbers. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19mlx4: replace the dma_sync_single_range_for_cpu/device APIFUJITA Tomonori1-4/+4
There are only two users of the dma_sync_single_range_for_cpu/device API in mainline (mlx4 and ssb). The dma_sync_single_range_for_cpu/device API has never been documented and the dma_sync_single_for_cpu/device API also support a partial sync. This converts mlx4 to use the dma_sync_single_for_cpu/device API (preparations for the removal of the dma_sync_single_range_for_cpu/device API). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19greth: some driver cleanupskirjanov@gmail.com1-31/+18
On Fri, Feb 19, 2010 at 13:51 +0100, Jiri Pirko wrote: > > <snip> > >>@@ -1031,7 +1029,7 @@ static void greth_set_multicast_list(struct net_device *dev) > >> return; > >> } > >> > >>- if (dev->mc_count == 0) { > >>+ if (!netdev_mc_count(dev)) { > also please use netdev_mc_empty() here. Some driver cleanups: * convert to use phy_find_first/phy_direct_connect * convert to use netdev_mc_* helpers * fixed missing validate_addr hook * removed netdev_priv castings Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Reviewed-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19net/pcmcia: convert to use netdev_for_each_mc_addrJiri Pirko5-69/+67
removed fill_multicast_tbl function in smc91c92_cs and do the work inline rewritten set_addresses function in xirc2ps_cs. This was kinda headache. Simulated the original and new functions and they bahave the same. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-19ath9k: convert to new station add/remove callbacksJohannes Berg1-15/+20
This converts ath9k to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-19mac80211_hwsim: convert to new station add/remove callbacksJohannes Berg1-6/+26
This converts mac80211_hwsim to use the new station add/remove callbacks instead of using the old sta_notify callback. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>