summaryrefslogtreecommitdiffstats
path: root/drivers/net (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bna: PCI Probe Conf Lock FixRasesh Mody2011-09-221-0/+1
| | | | | | | | | | If register_netdev() fails now, then we call mutex_unlock(&bnad->conf_mutex); on the error path, but it's already unlocked. So we acquire the lock in error path which will be later unlocked after the cleanup. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of github.com:davem330/net-nextDavid S. Miller2011-09-223-17/+3
|\
| * macmace, macsonic: cleanupFinn Thain2011-09-212-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We check ether_type before registering the platform device in arch/m68k/mac/config.c. Doing the same test again in the driver is redundant so remove it. Multiple probes should not happen since the conversion to platform devices, so lose that test too. Then macmace.c need not include macintosh.h, so remove that and irq.h and include linux/interrupt.h explicitly. Tested on PowerBook 520, Quadra 660av, LC 630. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/smsc911x: Correctly configure 16-bit register access from DTDave Martin2011-09-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SMSC911X_USE_16BIT needs to be set when using 16-bit register access. However, currently no flag is set if the device tree doesn't specify 32-bit access, resulting in a BUG() and a non- working driver when 16-bit register access is configured for smsc911x in the DT. This patch should set the SMSC911X_USE_16BIT flag in a manner consistent with the documented DT bindings. Signed-off-by: Dave Martin <dave.martin@linaro.org> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
* | can/sja1000: driver for PEAK PCAN PCI/PCIe cardsWolfgang Grandegger2011-09-213-0/+299
|/ | | | | | | | | | This patch add the peak_pci driver for the PCAN PCI/PCIe cards (1, 2, 3 or 4 channels) from PEAK Systems (http://www.peak-system.com). Signed-off-by: Wolfgang Grandegger <wg@grandegger.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> Tested-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/phy: add IC+ IP101A and support APS.Giuseppe CAVALLARO2011-09-201-11/+68
| | | | | | | | | This patch adds the IC+ IP101A Single port 10/100 PHY and supports the APS (i.e. power saving mode while link is down) for both IP1001 and IP101A (where this mode is supported). Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netxen: Add pcie workaroundRajesh Borundia2011-09-202-3/+64
| | | | | | | | | o A performance drop was seen with firmware loaded from flash. This workaround fixes it. o Updated driver version to 4.0.77 Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netxen: Fix vhdr_len in case of non vlan packets.Rajesh Borundia2011-09-201-1/+1
| | | | | | | o Set vlan header length to zero. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* macvtap: fix the uninitialized var using in macvtap_alloc_skb()Jason Wang2011-09-201-7/+5
| | | | | | | | | | Commit d1b08284 use new frag API but would leave f to be used uninitialized, this patch fix it. Signed-off-by: Jason Wang <jasowang@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge git://github.com/Jkirsher/net-nextDavid S. Miller2011-09-203-345/+311
|\
| * igb: Remove multi_tx_table and simplify igb_xmit_frameAlexander Duyck2011-09-202-17/+23
| | | | | | | | | | | | | | | | | | | | Instead of using the multi_tx_table to map possible Tx queues to Tx rings we can just do simple subtraction for the unlikely event that the Tx queue provided exceeds the number of Tx rings. 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: Replace E1000_XX_DESC_ADV with IGB_XX_DESCAlexander Duyck2011-09-203-20/+20
| | | | | | | | | | | | | | | | | | | | | | Since igb only uses advanced descriptors we might as well just use an IGB specific define and drop the _ADV suffix for the descriptor declarations. In addition this can be further reduced by assuming that it will be working on pointers since that is normally how the Tx descriptors are handled. 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: drop the "adv" off function names relating to descriptorsAlexander Duyck2011-09-203-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Many of the function names in the hot path are carrying an extra "_adv" suffix on the end of them to represent the fact that they are using advanced descriptors instead of legacy descriptors. However since all igb uses are advanced descriptors adding the extra suffix doesn't really add any additional data. Since this is the case it is easiest to just drop the suffix and save us from having to store the extra characters. 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: Refactor clean_rx_irq to reduce overhead and improve performanceAlexander Duyck2011-09-201-49/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is meant to be a general cleanup and performance improvement for clean_rx_irq. The previous patch should have updated the allocation so that the rings can be treated as read-only within the clean_rx_irq function. In addition I am re-ordering the operations such that several goals are accomplished including reducing the overhead for packet accounting, reducing the number of items on the stack, and improving overall performance. 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: update ring and adapter structure to improve performanceAlexander Duyck2011-09-202-41/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is meant to improve performance by splitting the Tx and Rx rings into 3 sections. The first is primarily a read only section containing basic things like the indexes, a pointer to the dev and netdev structures, and basic information. The second section contains the stats and next_to_use and next_to_clean values. The third section is primarily unused values that can just be placed at the end of the ring and are not used in the hot path. The adapter structure has several sections that are read in the hot path. In order to improve performance there I am combining the frequent read hot path items into a single cache line. 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: streamline Rx buffer allocation and cleanupAlexander Duyck2011-09-202-88/+104
| | | | | | | | | | | | | | | | | | | | | | This change is meant to streamline the Rx buffer allocation and cleanup. This is accomplished by reducing the number of writes by only having the Rx descriptor ring written by software during allocation, and it will only be read during cleanup. 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: drop support for single buffer modeAlexander Duyck2011-09-203-86/+28
| | | | | | | | | | | | | | | | | | | | | | | | This change removes support for single buffer mode from igb and makes the driver function in packet split always. The advantage to doing this is that we can reduce total memory allocation overhead significantly as we will only need to allocate one 1K slab per packet and then make use of a reusable half page instead of allocating a 2K slab per packet. 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: Update max_frame_size to account for an optional VLAN tag if presentAlexander Duyck2011-09-202-9/+12
| | | | | | | | | | | | | | | | | | | | This patch modifies the max_frame_size in order account for an optional VLAN tag. In order to support this we must also increase the MAX_STD_JUMBO_FRAME_SIZE to account for the 4 extra bytes. 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: Update RXDCTL/TXDCTL configurationsAlexander Duyck2011-09-202-16/+12
| | | | | | | | | | | | | | | | | | This change cleans up the RXDCTL and TXDCTL configurations and optimizes RX performance by allowing back write-backs on all hardware other than 82576. 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>
* | Merge branch 'master' of ssh://infradead/~/public_git/wireless-next into ↵John W. Linville2011-09-1995-4328/+9298
|\ \ | |/ |/| | | for-davem
| * ath9k: do not insert padding into tx buffers on AR9380+Felix Fietkau2011-09-161-19/+37
| | | | | | | | | | | | | | | | | | | | With the new EDMA descriptor format, a single descriptor can contain up to four buffer pointers. By splitting the buffer into two parts, we can let the hardware add the padding internally instead of using memmove on the skb data. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: optimize ath_tx_rc_status usageFelix Fietkau2011-09-161-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | The only flag that needs to be set when ath_tx_rc_status is called with rc_update == false is the IEEE80211_TX_STAT_TX_FILTERED flag. All other data is ignored in that case. This flag can be set from ath_tx_complete_buf instead, so that we can drop a few redundant calls to ath_tx_rc_status and remove the rc_update function parameter Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: remove a redundant check in ath_tx_form_aggrFelix Fietkau2011-09-161-2/+1
| | | | | | | | | | | | | | ath_lookup_legacy now checks all the tx rate flags for MCS vs legacy Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: optimize ath9k_ps_restoreFelix Fietkau2011-09-161-6/+11
| | | | | | | | | | | | | | | | | | ath_hw_cycle_counters_update only needs to be called if the power state changes. Most of the time this does not happen, even when ps_usecount goes down to 0. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove the old tx descriptor APIFelix Fietkau2011-09-166-472/+0
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: use the new API for setting tx descriptorsFelix Fietkau2011-09-163-160/+122
| | | | | | | | | | | | | | | | | | | | With the new API, tx descriptors can be written in one single pass instead of having to re-read and rewrite fields from multiple places. This makes the code easier to read and also slightly improves performance on embedded MIPS hardware. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: add a new API for setting tx descriptorsFelix Fietkau2011-09-165-1/+275
| | | | | | | | | | | | | | | | | | | | Instead of using lots of different functions with long argument lists, pull all the necessary information from one struct. This makes the code easier to read and eliminates the need for copying data between multiple linked descriptors. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: do not recalculate the descriptor checksum in ar9003_hw_fill_txdescFelix Fietkau2011-09-161-2/+1
| | | | | | | | | | | | | | Reduces the number of accesses to uncached descriptor memory. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: call ath9k_hw_set_desc_link for beacon descriptorsFelix Fietkau2011-09-161-0/+1
| | | | | | | | | | | | | | | | This ensures that only ath9k_hw_set_desc_link needs to recalculate the tx descriptor checksum on AR9380+ Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: move ath_buf_set_rate to remove a forward declarationFelix Fietkau2011-09-161-142/+141
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: reduce the number of functions that access the tx descriptorFelix Fietkau2011-09-162-35/+57
| | | | | | | | | | | | | | Makes it easier to clean up the ath9k_hw descriptor API Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: remove ATH_TX_XRETRY and BUF_XRETRY flagsFelix Fietkau2011-09-164-29/+13
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: ensure that rx is not enabled during a resetFelix Fietkau2011-09-162-4/+5
| | | | | | | | | | | | | | | | | | During a reset, rx buffers are flushed after rx has been disabled. To avoid race conditions, rx needs to stay disabled during the reset, so avoid any calls to ath9k_hw_rxena in that case. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: make beacon timer initialization more reliableFelix Fietkau2011-09-161-0/+1
| | | | | | | | | | | | | | | | | | When starting the AP beacon timer, it assumes that the TSF has recently been cleared. Set the SC_OP_TSF_RESET flag to ensure that this is always the case. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: fix enabling interrupts after a hardware error interruptFelix Fietkau2011-09-161-4/+5
| | | | | | | | | | | | | | | | The interrupt handler increases the interrupt disable refcount, so the tasklet needs to always call ath9k_hw_enable_interrupts. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Fix PS wrappers and enabling LEDMohammed Shafi Shajakhan2011-09-161-2/+2
| | | | | | | | | | | | | | | | in ath_pci_resume it seems we are not enabling LED properly, in addition we have a PS wrapper fix for this Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: enable LED pin for AR946/8x chipsetsMohammed Shafi Shajakhan2011-09-162-0/+3
| | | | | | | | | | | | | | | | now the LED starts working for AR946/8x chipsets Cc: "Balasubramanian, senthilkumar" <senthilb@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Do full chip reset on 11A channels for AR9003Rajkumar Manoharan2011-09-161-3/+5
| | | | | | | | | | | | | | | | | | | | AR9003 seems to have issues sometimes with fast channel change in 5GHz and this case is handled specifically for AR9280 by doing a full reset. Let's do a full reset for 5GHz channles of AR9380 & for all channels of AR9280 pci chips. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: move register definitions to header filesSenthil Balasubramanian2011-09-162-26/+25
| | | | | | | | | | | | | | | | | | Move the register macros to appropriate header files to be in sync with other register definitions and also a single place to refer everything. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Add support for AR946/8x chipsets.Senthil Balasubramanian2011-09-167-36/+362
| | | | | | | | | | | | | | This patch adds support for AR946/8x chipets. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Split tx/rx gain table initval handlingSenthil Balasubramanian2011-09-161-180/+210
| | | | | | | | | | | | | | | | Split tx/rx gain table initval hanlding part so readability is better and easy to manage the code. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Add initvals and register definitions for AR946/8x chipsets.Senthil Balasubramanian2011-09-166-18/+3883
| | | | | | | | | | | | | | Add initvals and register modifications required to support AR946/8x chipsets. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xxJohn W. Linville2011-09-166-29/+103
| |\
| | * Merge branch 'wl12xx-next' into for-linvilleLuciano Coelho2011-09-146-29/+103
| | |\
| | | * wl12xx: use SCAN_SSID_TYPE_PUBLIC when using the wildcard in sched_scanLuciano Coelho2011-08-251-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are scanning for the wildcard SSID in a scheduled scan, we should use SCAN_SSID_TYPE_PUBLIC so that we don't filter out the scan results. Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl12xx: add support for multiple SSIDs in sched_scanLuciano Coelho2011-08-252-7/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wl12xx firmwares support multiple SSIDs in a single sched_scan run. This patch implements support for it. We use three different types os sched_scan: FILTER_ANY (ie. not filtering, only wildcard SSID in the probe_reqs); FILTER_LIST (ie. send out probe_reqs with the specified SSIDs and only report if they are found); and FILTER_DISABLED (ie. send out probe_reqs with the specified SSIDs, but report anything found). Since we still don't have proper filter support in nl80211/cfg80211 yet, we cannot use filters when the wildcard SSID is used. Thus, we will not filter anything if the wildcard SSID is specified. Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl12xx: enter psm only after station role was startedEliad Peller2011-08-251-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The station didn't get into psm after recovery, because psm was configured before sta role was started. Move wl1271_ps_set_mode() to be executed only after the role was started. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl12xx: increase psm_entry_retriesEliad Peller2011-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In congested env, sometimes 5 psm entry retries are not enough. Increase the retries count to 8. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl12xx: initialize rate_set on band rates initializationEliad Peller2011-08-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some corner cases, (invalid) 11g rates were used while working on 11a band. Take care of it by initializing rate_set according to the configured band. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl12xx: allow 11a AP-mode for wl127x devicesArik Nemtsov2011-08-251-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a check preventing 127x devices from using the 11a band when operating as AP. Since we now support this functionality, remove the check. With this patch, a 11a AP starts ok on 127x cards. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>