aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
* mwifiex: restore handling of NULL parametersDan Carpenter2011-06-27
| | | | | | | | | | | | Prior to a5ffddb70c5cab "mwifiex: remove casts of void pointers" the code assumed that the data_buf parameter could be a NULL pointer. The patch preserved some NULL checks but not consistently, so there was a potential for NULL dereferences and it changed the behavior. This patch restores the original behavior. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Fix locking issue during tx completionRajkumar Manoharan2011-06-27
| | | | | | | | | | | | | | | | | | | | | | | | The received tx status of aggregated frame without BlockAck may cause deaf state in AR5416 cards. So the driver does a reset to recover. When this happens, we release the pcu_lock before doing a reset as ath_rest acquires pcu_lock. This is ugly and also not atomic. Fixing this addresses the TX DMA failure also. ath_tx_complete_aggr can be called from different paths which takes different variants of spin_lock. This patch also addresses the following warning. WARNING: at kernel/timer.c:1011 del_timer_sync+0x4e/0x50() Call Trace: <IRQ> [<ffffffff8104be3a>] warn_slowpath_common+0x7a/0xb0 [<ffffffff8104be85>] warn_slowpath_null+0x15/0x20 [<ffffffff8105915e>] del_timer_sync+0x4e/0x50 [<ffffffffa03726be>] ath_reset+0x3e/0x210 [ath9k] [<ffffffff8135cdaf>] ? _raw_spin_unlock_bh+0x1f/0x30 [<ffffffffa037760a>] ath_tx_complete_aggr.isra.26+0x54a/0xa40 [ath9k] Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlagn: fix rmmod crashStanislaw Gruszka2011-06-27
| | | | | | | | | | | | | priv->bus.bus_specific pointer is used after priv structures was freed, in iwl_pci_remove(), what make ugly rmmod crash. This bug was introduced by current pci changes. On the way remove fake check, if prober error code is returned from .probe() function, .remove() will never be called be null drvdata. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix unspeficied typoJoe Perches2011-06-27
| | | | | | Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: make use of the gain_table_entry macroMohammed Shafi Shajakhan2011-06-27
| | | | | Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: Add carrier leak correction in desired gain calculationMohammed Shafi Shajakhan2011-06-27
| | | | | | Cc: muddin@qca.qualcomm.com Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: Fix false tx hung detection in AR9003 chipsRajkumar Manoharan2011-06-27
| | | | | | | | | | | | | | | | | | | | The edma based (AR9003 family) chips update tx status descriptors in a common ring buffer for all transmitted frames. Whenever tx interrupt is raised, the descriptors are processed and tx status index is moved. The complete tx stauts ring are updated with beacons tx status when there are no data frames to be sent for a period of time. In this state, transmitting data frames causes the driver to wait for the tx status on an incorrect tx status index though the status was updated by hw properly. The driver detects this condition as a h/w hang and does unnecessary chip resets. This issue was orginally reported in adhoc mode while sending frames after an idle time. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: restrict advertised HW scan ratesJohannes Berg2011-06-27
| | | | | | | | | | | | | Advertise only user-requested bitrates in a HW scan. Note that the hw_scan API doesn't currently have a way of asking for a specific probe request bitrate, so we might end up using a bitrate that we don't advertise as supported. I'll fix that later. Also add a hexdump printk to hwsim to verify this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wireless: unify QoS control field definitionsJohannes Berg2011-06-27
| | | | | | | | | | Move all that mac80211 has into the generic ieee80211.h header file and use them. At the same time move them from mask+shift to just bits and rename them for consistent names. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Modify Kconfig and Makefile routines for new driverChaoming Li2011-06-27
| | | | | | | | Set up Kconfig and Makefile for new driver for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: Fix build problems introduced by merging rtl8192deLarry Finger2011-06-27
| | | | | | | | | These patches allow compilation of rtlwifi, rtl8192c_common, rtl8192ce, rtl8192cu and rtl8192se to compile after rtl8192de was added. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge TX and RX routinesChaoming Li2011-06-27
| | | | | | | | Merge routines trx.c and trx.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge table routinesChaoming Li2011-06-27
| | | | | | | | Merge routines table.c and table.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge main (sw) routinesChaoming Li2011-06-27
| | | | | | | | Merge routines sw.c and sw.h for RTL8192SE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge rf routinesChaoming Li2011-06-27
| | | | | | | | Merge routines rf.c and rf.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge register definitionsChaoming Li2011-06-27
| | | | | | | | Merge routines reg.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge phy routinesChaoming Li2011-06-27
| | | | | | | | Merge routines phy.c and phy.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge led routinesChaoming Li2011-06-27
| | | | | | | | Merge routines led.c and led.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge hardware routinesChaoming Li2011-06-27
| | | | | | | | Merge routines hw.c and hw.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge firmware routinesChaoming Li2011-06-27
| | | | | | | | Merge routines fw.c and fw.h for RTL8192DE. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge dynamic management routinesChaoming Li2011-06-27
| | | | | | | | Merge routines dm.c and dm.h for RTL8192DE. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rtlwifi: rtl8192de: Merge def.hChaoming Li2011-06-27
| | | | | | | | Introduce routine def.h for rtl8192de. Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlagn: don't use CCK rates for P2P interfacesJohannes Berg2011-06-24
| | | | | | | | | | | | | | | P2P interfaces must not use CCK rates, only OFDM rates are allowed. To set this up, we need to set up the broadcast station to start with 6M instead of starting with 1M. Since the interface type can change, also reset the broadcast station when RXON changes. This will affect beacons as well. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* iwlagn: fill beacon TX rate properlyJohannes Berg2011-06-24
| | | | | | | | | | Use the rate that mac80211 requested to fill the uCode TX command for the beacon. Unfortunately, the uCode is (currently?) ignoring it, but now at least fill it properly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* iwlagn: extend host command timeoutJohannes Berg2011-06-24
| | | | | | | | | We've infrequently seen timeouts, make the wait time match the windows driver; hopefully our driver is just too impatient. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* iwlagn: fix cmd queue unmapJohannes Berg2011-06-24
| | | | | | | | | | | When we stop the device while a command is in flight that uses multiple TBs, we can leak the DMA buffers for the second and higher TBs. Fix this by using iwlagn_unmap_tfd() as we do when we normally recover the entry. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* iwlagn: use PM ops macroJohannes Berg2011-06-24
| | | | | | | | | Simplify the code and use SIMPLE_DEV_PM_OPS to define iwl_dev_pm_ops instead of doing the same thing manually. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* ssb: add __devinit to some functionsHauke Mehrtens2011-06-22
| | | | | | | | | | | | | | | | | | | | | | | Two functions in ssb are using register_pci_controller() which is __devinit. The functions ssb_pcicore_init_hostmode() and ssb_gige_probe() should also be __devinit. This fixes the following warning: WARNING: vmlinux.o(.text+0x2727b8): Section mismatch in reference from the function ssb_pcicore_init_hostmode() to the function .devinit.text:register_pci_controller() The function ssb_pcicore_init_hostmode() references the function __devinit register_pci_controller(). This is often because ssb_pcicore_init_hostmode lacks a __devinit annotation or the annotation of register_pci_controller is wrong. WARNING: vmlinux.o(.text+0x273398): Section mismatch in reference from the function ssb_gige_probe() to the function .devinit.text:register_pci_controller() The function ssb_gige_probe() references the function __devinit register_pci_controller(). This is often because ssb_gige_probe lacks a __devinit annotation or the annotation of register_pci_controller is wrong. Reported-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: enable support for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: add external_reset callback to ath9k_platfom_data for AR9330Gabor Juhos2011-06-22
| | | | | | | | | | | | The patch adds a callback to ath9k_platform_data. If the callback is provided by the platform code, then it can be used to hard reset the WMAC device. The callback is required for doing a hard reset of the AR9330 chips to get them working again after a hang. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: configure internal regulator for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: configure diversity based on eeprom contents for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: fix few register offsets for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: set diversity group for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: add fast_div_bias configuration for diversity group 1Gabor Juhos2011-06-22
| | | | | | | | The patch adds the missing configuration code for diversity group 1. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove superfluous parenthesesGabor Juhos2011-06-22
| | | | | | | Also remove two empty lines. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: fix antenna diversity configuration for non AR9485 chipsGabor Juhos2011-06-22
| | | | | | | | The current values must be used only on AR9485 chips. Other chips requires different values. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: add a missing case statement to ath_ant_div_comb_alt_checkGabor Juhos2011-06-22
| | | | | | | | The 'ar9003_hw_antdiv_comb_conf_get' function sets div_group to 2 however that value is not used in 'ath_ant_div_comb_alt_check'. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use correct max_streams for AR9330Gabor Juhos2011-06-22
| | | | | | | The AR9330 is a single stream chip. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: enable antenna diversity for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: set NF limits for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: configure xpa bias level for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use correct EEPROM base for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: enable tuning capacitance configuration for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: skip internal regulator configuration for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: enable TX/RX data byte swap for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: configure RF channel frequency for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: fix channel frequency calculation for AR9340Gabor Juhos2011-06-22
| | | | | | | | A multiplication is missing from the current formula. Cc: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: read spur frequency information from eeprom for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: don't enable LDPC for AR9330Gabor Juhos2011-06-22
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>