summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-12-22mac80211: cleanup select_queueJohannes Berg
There's a redundant rcu_read_lock/unlock pair, a redundant variable, and a few redundant accesses to the 1d_to_ac array. Fix this to make the code neater and easier to follow. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k: Reset keycache on resumeMohammed Shafi Shajakhan
It looks like some hardware registers are left into undefined state after suspend/resume. At minimum, this can cause odd issues related to key cache and hardware trying to encrypt/decrypt frames unexpectedly. This seems to happen even when there is no keys configured, i.e., hardware can end up touching TX frames just based of invalid key cache context even if the driver is not asking a specific entry to be used. In addition, RX can likely be affected. This patch fixes this issue. Signed-off-by: Jouni Malinen <Jouni.Malinen@Atheros.com> Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rtlwifi: rtl8192ce: Fix driver problem when radio switch off at module loadLarry Finger
If the radio enable switch is off when the driver is loaded, it is not possible to get radio output until the driver is unloaded and reloaded with the switch on. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: add support for set_power_mgmtJussi Kivilinna
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: add support for set_cqm_rssi_configJussi Kivilinna
Device poller already reads current RSSI, so add support for set_cqm_rssi_config there. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: remove unused variable from priv structureJussi Kivilinna
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: constify rndis_config_opsJussi Kivilinna
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: turn radio off before interface is bring upJussi Kivilinna
Radio should be off when interface is down. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: do not set default_key if not WEP keyJussi Kivilinna
rndis_set_default_key did call add_wep_key to set default key on device, even if key is WPA. This caused rndis_wlan not work with wpa_supplicant in nl80211 mode (causing disconnect from AP). Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rndis_wlan: scanning, workaround device returning incorrect bssid-list item ↵Jussi Kivilinna
count. Sometimes device returns wrong number of items in bssid-list. Appears that some specific beacons trigger this problem and leads to very poor scanning results. Workaround by ignoring num_items received from device and walkthrough full bssid-list buffer. v2: Fix buffer range checks and reading next item length. Old code read behind buffer on last item but didn't use those values as 'count' would also reach zero. Also fix resizing of buffer if device has larger buffer, old code assumed that BSSID-list OID would return same buffer size when it really can return yet another new larger length. Tested-by: Luís Picciochi <Pitxyoki@gmail.com> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: enable support for PHYs rev 3 and higherRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: update 2056 radio on channel switch on rev3+Rafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: use correct channel tables for rev4+Rafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: avoid PHY hangs for rev 3 and 4Rafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: add init tables for 2056 radioRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: N-PHY: implement radio 2056 init stepsRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22b43: use correct firmware for newer coresRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k_hw: Fix bug in eeprom data length validation for AR9485Vasanthakumar Thiagarajan
The size of the eeprom data is 1088 bytes for AR9485. But a sanity check is done against 4K which would result in a 'potential read past the end of the buffer' smatch complaint. Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Use helper function to get eeprom mode from channelBruno Randolf
Introduce a helper function to get the EEPROM mode from channel and remove multiple similar switch statements. Also since it's now easy to get the EEPROM mode from the channel, use them inside the functions which need it, instead of passing a redundant ee_mode parameter. Signed-off-by: Bruno Randolf <br1@einfach.org> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Remove ATH5K_INI_RFGAIN defines, use band insteadBruno Randolf
Remove redundant defines. Signed-off-by: Bruno Randolf <br1@einfach.org> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Track current TX power separately from max TX powerBruno Randolf
Add a new variable to keep track of the currently configured tx power. Before max_pwr was re-used for keeping the maximum allowed power as well as the current configuration. Doing a min() on it allows you to lower the txpower, but how would you be able to make it higher again? This patch fixes that by adding a new variable ah_cur_pwr which is used instead of txp_max_pwr to keep the current configuration. txp_max_pwr is used to check if we are within the limits. Another problem fixed by this patch is that it avoids setting a zero txpower when things are initialized first and the current power is not yet set. Signed-off-by: Bruno Randolf <br1@einfach.org> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Separate powertable setup and writingBruno Randolf
And rename functions which write the powertable to make it clearer. Signed-off-by: Bruno Randolf <br1@einfach.org> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Simplify powertable recalculationBruno Randolf
Let ath5k_hw_txpower() decide if it can re-use the powertable or if it has to be recalculated instead of passing a 'fast' flag from the outside. Signed-off-by: Bruno Randolf <br1@einfach.org> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k: unlock on error path in ath9k_change_interface()Dan Carpenter
There is a missing unlock when we hit the "No beacon slot available" error condition. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rtlwifi: Use pci_pcie_cap()Hauke Mehrtens
Use function pci_pcie_cap() instead of accessing struct member directly. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k: Use pci_is_pcie()Hauke Mehrtens
Use function pci_is_pcie() instead of accessing struct member directly. CC: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath5k: Use pci_is_pcie()Hauke Mehrtens
Use function pci_is_pcie() instead of accessing struct member directly. CC: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22rt2x00: Use pci_is_pcie()Hauke Mehrtens
Use function pci_is_pcie() instead of accessing struct member directly. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ssb: Use pci_is_pcie()Hauke Mehrtens
Use function pci_is_pcie() instead of accessing struct member directly. CC: Michael Buesch <mb@bu3sch.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22wl12xx: remove unnecessary importHauke Mehrtens
No function declared in gpio.h is used here. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22wl1251: remove unnecessary importHauke Mehrtens
No function declared in gpio.h is used here. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Kalle Valo <kvalo@adurom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k: fix aphy / wiphy idle mismatchLuis R. Rodriguez
ath9k supports its own set of virtual wiphys, and it uses the mac80211 idle notifications to know when a device needs to be idle or not. We recently changed ath9k to force idle on driver stop() and on resume but forgot to take into account ath9k's own virtual wiphy idle states. These are used internally by ath9k to check if the device's radio should be powered down on each idle call. Without this change its possible that the device could have been forced off but the virtual wiphy idle was left on. Cc: stable@kernel.org Cc: Paul Stewart <pstew@google.com> Cc: Amod Bodas <amod.bodas@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k: Fix warnings on card removalRajkumar Manoharan
The recently added warning message on power change failure is not needed on device removal. ath: Failed to wakeup in 500us ------------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/ath9k/hw.c:1618 ath9k_hw_setpower+0x61f/0x630 [ath9k_hw]() Hardware name: 64756D6 Pid: 540, comm: kworker/u:3 Not tainted 2.6.37-rc6-wl #37 Call Trace: [<ffffffff810501aa>] warn_slowpath_common+0x7a/0xb0 [<ffffffffa056e280>] ? ath9k_iowrite32+0x0/0x90 [ath9k] [<ffffffff810501f5>] warn_slowpath_null+0x15/0x20 [<ffffffffa05226ef>] ath9k_hw_setpower+0x61f/0x630 [ath9k_hw] [<ffffffffa05700e5>] ath9k_ps_wakeup+0x85/0xd0 [ath9k] [<ffffffffa0570685>] ath9k_configure_filter+0x25/0x80 [ath9k] [<ffffffffa04dde43>] ieee80211_configure_filter+0x133/0x190 [mac80211] [<ffffffffa04ee502>] ieee80211_do_stop+0x132/0x540 [mac80211] [<ffffffff813466ff>] ? _raw_spin_unlock_bh+0x1f/0x30 [<ffffffff812b6923>] ? dev_deactivate+0x1c3/0x1e0 [<ffffffffa04ee925>] ieee80211_stop+0x15/0x20 [mac80211] [<ffffffff8129d1b6>] __dev_close+0x56/0x90 Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22ath9k_htc: Fix warning on device removalSujith Manoharan
The commit "ath9k_hw: warn if we cannot change the power to the chip" introduced a new warning to indicate chip powerup failures, but this is not required for devices that have been removed. Handle USB device removal properly by checking for unplugged status. For PCI devices, this warning will still be seen when the card is pulled out, not sure how to check for card removal. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22USB: Merge 2.6.37-rc5 into usb-nextGreg Kroah-Hartman
This is to resolve the conflict in the file, drivers/usb/gadget/composite.c that was due to a revert in Linus's tree needed for the 2.6.37 release. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-22davinci: am18x/da850/omap-l138 evm: add support for higher speed gradesSekhar Nori
Apart from the regular AM18x/DA850/OMAP-L138 SoC operating at 300MHz, these SoCs have variants that can operate at a maximum of 456MHz. Variants at 408Mhz and 375 Mhz are available as well. Not all silicon is qualified to run at higher speeds and unfortunately the maximum speed the chip can support can only be determined from the label on the package (not software readable). The EVM hardware for all these variants is the same (except for the actual SoC populated). U-Boot on the EVM sets up ATAG_REVISION to inform the OS regarding the speed grade supported by the silicon. We use this information to pass on the speed grade information to the SoC code. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22davinci: am18x/da850/omap-l138: add support for higher speed gradesSekhar Nori
AM18x/DA850/OMAP-L138 SoCs have variants that can operate at a maximum of 456 MHz at 1.3V operating point. Also the 1.2V operating point has a variant that can support a maximum of 375 MHz. This patch adds three new OPPs (456 MHz, 408 MHz and 372 MHz) to the list of DA850 OPPs. Not all silicon is qualified to run at higher speeds and unfortunately the maximum speed the chip can support can only be determined from the label on the package (not software readable). Because of this, we depend on the maximum speed grade information to be provided to us in some board specific way. The board informs the maximum speed grade information by setting the da850_max_speed variable. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22da850-evm: KEYBOARD_GPIO_POLLED Kconfig conditionalBen Gardiner
Use the mach-davinci/Kconfig to enable gpio-keys-polled as default when da850-evm machine is enabled. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Kevin Hilman <khilman@deeprootsystems.com> CC: "Nori, Sekhar" <nsekhar@ti.com> CC: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22da850-evm: add baseboard GPIO expander buttons, switches and LEDsBen Gardiner
This patch adds a pca953x platform device for the tca6416 found on the evm baseboard. The tca6416 is a GPIO expander, also found on the UI board at a separate I2C address. The pins of the baseboard IO expander are connected to software reset, deep sleep enable, test points, a push button, DIP switches and LEDs. Add support for the push button, DIP switches and LEDs and test points (as free GPIOs). The reset and deep sleep enable connections are reserved by the setup routine so that userspace can't toggle those lines. The existing tca6416-keypad driver was not employed because there was no apararent way to register the LEDs connected to gpio's on the tca6416 while simultaneously registering the tca6416-keypad instance. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Chris Cordahi <christophercordahi@nanometrics.ca> CC: Govindarajan, Sriramakrishnan <srk@ti.com> Reviewed-by: Sekhar Nori <nsekhar@ti.com> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> CC: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22da850-evm: extract defines for SEL{A,B,C} pins in UI expanderBen Gardiner
The setup and teardown methods of the UI expander reference the SEL_{A,B,C} pins by 'magic number' in each function. This uses the common enum for their offsets in the expander setup and teardown functions. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Chris Cordahi <christophercordahi@nanometrics.ca> Reviewed-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> CC: Victor Rodriguez <vm.rod25@gmail.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22da850-evm: add UI Expander pushbuttonsBen Gardiner
This patch adds EV_KEYs for each of the 8 pushbuttons on the UI board via a gpio-key device. The expander is a tca6416; it controls the SEL_{A,B,C} lines which enable and disable the peripherals found on the UI board in addition to the 8 pushbuttons mentioned above. The reason the existing tca6416-keypad driver is not employed is because there was no aparent way to keep the gpio lines used as SEL_{A,B,C} registered while simultaneously registering the pushbuttons as a tca6416-keypad instance. Some experimentation with the polling interval was performed; we were searching for the largest polling interval that did not affect the feel of the responsiveness of the buttons. It is very subjective but 200ms seems to be a good value that accepts firm pushes but rejects very light ones. The key values assigned to the buttons were arbitrarily chosen to be F1-F8. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Reviewed-by: Chris Cordahi <christophercordahi@nanometrics.ca> CC: Govindarajan, Sriramakrishnan <srk@ti.com> Reviewed-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> CC: Kevin Hilman <khilman@deeprootsystems.com> CC: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22sfq: fix sfq class stats handlingEric Dumazet
sfq_walk() runs without qdisc lock. By the time it selects a non empty hash slot and sfq_dump_class_stats() is run (with lock held), slot might have been freed : We then access q->slots[SFQ_EMPTY_SLOT], out of bounds, and crash in slot_queue_walk() On previous kernels, bug is here but out of bounds qs[SFQ_DEPTH] and allot[SFQ_DEPTH] are located in struct sfq_sched_data, so no illegal memory access happens, only possibly wrong data reported to user. Also, slot_dequeue_tail() should make sure slot skb chain is correctly terminated, or sfq_dump_class_stats() can access freed skbs. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-22mac80211: check for CONFIG_MAC80211_LEDS in the tpt_led_trigger declarationLuciano Coelho
If CONFIG_MAC80211_LEDS is not set, ieee80211_i.h was failing to compile, because struct led_trigger is only declared when CONFIG_LEDS_TRIGGERS is set. This patch adds ifdefs around the tpt_led_trigger declaration in ieee80211_i.h to avoid the problem. Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22mac80211: selective throughput LED trigger activeJohannes Berg
The throughput LED trigger was always active when the radio was enabled. In most cases that's likely the desired behaviour, but iwlwifi requires it to be only active when one of the virtual interfaces is actually "connected" in some way. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22mac80211: add throughput based LED blink triggerJohannes Berg
iwlwifi and other drivers like to blink their LED based on throughput. Implement this generically in mac80211, based on a throughput table the driver specifies. That way, drivers can set the blink frequencies depending on their desired behaviour and max throughput. All the drivers need to do is provide an LED class device, best with blink hardware offload. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22mac80211: make LED trigger names available earlyJohannes Berg
The throughput trigger will require doing LED classdev/trigger handling before register_hw(), so drivers should have access to the trigger names before it. If trigger registration fails, this will still make the trigger name available, but that's not a big problem since the default trigger will the simply not be found. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-22Merge branch 'integration-2.6.38-for-tony' of git://git.pwsan.com/linux-2.6 ↵Tony Lindgren
into omap-for-linus
2010-12-22Merge branches 'devel-gpmc' and 'devel-misc' into omap-for-linusTony Lindgren
2010-12-22Merge branch 'master' of ↵John W. Linville
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h
2010-12-22Keyboard: omap-keypad: use matrix_keypad.hJanusz Krzysztofik
Most keypad drivers make use of the <linux/input/matrix_keypad.h> defined macros, structures and inline functions. Convert omap-keypad driver to use those as well, as suggested by a compile time warning, hardcoded into the OMAP <palt/keypad.h>. Created against linux-2.6.37-rc5. Tested on Amstrad Delta. Compile tested with omap1_defconfig and omap2plus_defconfig shrinked to board-h4. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Reviewed-by: Aaro Koskinen <aaro.koskinen@nokia.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Tony Lindgren <tony@atomide.com>