1. 09 11月, 2010 17 次提交
  2. 30 10月, 2010 4 次提交
    • L
      b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd · 9f2a0fac
      Larry Finger 提交于
      On module removal, the sdio version of b43 generates the following warning:
      
      [  851.560519] ------------[ cut here ]------------
      [  851.560531] WARNING: at drivers/mmc/core/core.c:237 mmc_wait_for_cmd+0x88/0x90()
      [  851.560534] Hardware name: 20552PG
      [  851.560536] Modules linked in: b43(-) ssb mmc_block binfmt_misc rfcomm sco bnep ppdev l2cap ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm arc4 iwlagn snd_hda_codec_conexant snd_hda_intel snd_hda_codec iwlcore snd_hwdep snd_pcm thinkpad_acpi mac80211 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq r852 joydev snd_timer sm_common pcmcia nand snd_seq_device cfg80211 sdhci_pci btusb psmouse tpm_tis yenta_socket nand_ids lp snd pcmcia_rsrc nand_ecc bluetooth sdhci tpm pcmcia_core parport mtd snd_page_alloc serio_raw tpm_bios soundcore nvram led_class sha256_generic aes_i586 aes_generic dm_crypt i915 drm_kms_helper drm ahci intel_agp i2c_algo_bit intel_gtt e1000e libahci video agpgart output
      [  851.560620] Pid: 2504, comm: rmmod Not tainted 2.6.36-titan0+ #1
      [  851.560622] Call Trace:
      [  851.560631]  [<c014a102>] warn_slowpath_common+0x72/0xa0
      [  851.560636]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560641]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560645]  [<c014a152>] warn_slowpath_null+0x22/0x30
      [  851.560649]  [<c04d94c8>] mmc_wait_for_cmd+0x88/0x90
      [  851.560655]  [<c0401585>] ? device_release+0x25/0x80
      [  851.560660]  [<c04df210>] mmc_io_rw_direct_host+0xa0/0x150
      [  851.560665]  [<c04df370>] mmc_io_rw_direct+0x30/0x40
      [  851.560669]  [<c04e06e7>] sdio_disable_func+0x37/0xa0
      [  851.560683]  [<f8dfcb80>] b43_sdio_remove+0x30/0x50 [b43]
      [  851.560687]  [<c04df8cc>] sdio_bus_remove+0x1c/0x60
      [  851.560692]  [<c016d39f>] ? blocking_notifier_call_chain+0x1f/0x30
      [  851.560697]  [<c0404991>] __device_release_driver+0x51/0xb0
      [  851.560701]  [<c0404a7f>] driver_detach+0x8f/0xa0
      [  851.560705]  [<c0403c83>] bus_remove_driver+0x63/0xa0
      [  851.560709]  [<c0405039>] driver_unregister+0x49/0x80
      [  851.560713]  [<c0405039>] ? driver_unregister+0x49/0x80
      [  851.560718]  [<c04dfad7>] sdio_unregister_driver+0x17/0x20
      [  851.560727]  [<f8dfcb42>] b43_sdio_exit+0x12/0x20 [b43]
      [  851.560734]  [<f8dfe76f>] b43_exit+0x17/0x3c [b43]
      [  851.560740]  [<c017fb8d>] sys_delete_module+0x13d/0x200
      [  851.560747]  [<c01fd7d2>] ? do_munmap+0x212/0x300
      [  851.560752]  [<c010311f>] sysenter_do_call+0x12/0x28
      [  851.560757] ---[ end trace 31e14488072d2f7d ]---
      [  851.560759] ------------[ cut here ]------------
      
      The warning is caused by b43 not claiming the device before calling
      sdio_disable_func().
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Reported-by: NArnd Hannemann <arnd@arndnet.de>
      Tested-by: NArnd Hannemann <arnd@arndnet.de>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9f2a0fac
    • J
      mac80211: fix failure to check kmalloc return value in key_key_read · 520efd1a
      Jesper Juhl 提交于
      I noticed two small issues in mac80211/debugfs_key.c::key_key_read while
      reading through the code. Patch below.
      
      The key_key_read() function returns ssize_t and the value that's actually
      returned is the return value of simple_read_from_buffer() which also
      returns ssize_t, so let's hold the return value in a ssize_t local
      variable rather than a int one.
      
      Also, memory is allocated dynamically with kmalloc() which can fail, but
      the return value of kmalloc() is not checked, so we may end up operating
      on a null pointer further on. So check for a NULL return and bail out with
      -ENOMEM in that case.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      520efd1a
    • P
      libertas: Fix sd8686 firmware reload · 731b2034
      Paul Fox 提交于
      For the SD8686, we cannot rely on the scratch register to read the firmware
      load status, because the same register is used for storing RX packet length.
      Broaden the check to account for this.
      
      The module can now be unloaded/reloaded successfully.
      
      Based on the implementation from libertas_tf.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Acked-by: NDan Williams <dcbw@redhat.com>
      Signed-off-by: NSteve deRosier <steve@cozybit.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      731b2034
    • M
      ath9k: Fix incorrect access of rate flags in RC · 4fc4fbd1
      Mohammed Shafi Shajakhan 提交于
      The index variable to access the rate flags should be obtained from the
      inner loop counter which corresponds to the rate table structure.This
      fixes the invalid rate selection i.e when the supported basic rate is
      invalid on a particular band and also the following warning message.
      Thanks to Raj for finding this out.
      
      Call Trace:
      
       [<ffffffff8104ee4a>] warn_slowpath_common+0x7a/0xb0
      
       [<ffffffff8104ee95>] warn_slowpath_null+0x15/0x20
      
       [<ffffffffa0583c45>] ath_get_rate+0x595/0x5b0 [ath9k]
      
       [<ffffffff811a0636>] ? cpumask_next_and+0x36/0x50
      
       [<ffffffffa0405186>] rate_control_get_rate+0x86/0x160 [mac80211]
      
       [<ffffffffa040dfac>] invoke_tx_handlers+0x81c/0x12d0 [mac80211]
      
       [<ffffffffa040eae9>] ieee80211_tx+0x89/0x2b0 [mac80211]
      
       [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0
      
       [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]
      
       [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]
      
       [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]
      
       [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
      [mac80211]
      
       [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0
      
       [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]
      
       [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]
      
       [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]
      
       [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
      [mac80211]
      
       [<ffffffffa03f8896>] ieee80211_scan_work+0x146/0x600 [mac80211]
      
       [<ffffffff8133a375>] ? schedule+0x2f5/0x8e0
      
       [<ffffffffa03f8750>] ? ieee80211_scan_work+0x0/0x600 [mac80211]
      
       [<ffffffff81064fcf>] process_one_work+0x10f/0x380
      
       [<ffffffff81066bc2>] worker_thread+0x162/0x340
      
       [<ffffffff81066a60>] ? worker_thread+0x0/0x340
      
      Cc: stable@kernel.org
      Signed-off-by: NMohammed Shafi Shajakhan <mshajakhan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4fc4fbd1
  3. 28 10月, 2010 8 次提交
  4. 26 10月, 2010 11 次提交
    • D
      iwlwifi: quiet a noisy printk · 822395b5
      Don Fry 提交于
      Timing issues in microcode for some devices can cause a compressed BA to
      be sent to the driver prior to returning any a-MPDU notification.
      Traces show RTS-CTS is exchanged and then the timer fires which causes an
      empty BA to be sent which acknowledges nothing.  This results in a noisy
      printk. Only print the message if the bitmap is non-zero.
      Signed-off-by: NDon Fry <donald.h.fry@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      822395b5
    • F
      ath9k: resume aggregation immediately after a hardware reset · fac6b6a0
      Felix Fietkau 提交于
      Since aggregation is usually triggered by tx completion, a hardware
      reset (because of beacon stuck, tx hang or baseband hang) can
      significantly delay the transmission of the next AMPDU (until the next
      tx completion event).
      Fix this by rescheduling aggregation after such a reset.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fac6b6a0
    • C
      carl9170: fix scheduling while atomic · dafeac38
      Christian Lamparter 提交于
      This patch fixes the following mishap:
      
      BUG: scheduling while atomic: wpa_supplicant/4164/0x00000002
      Modules linked in: carl9170 mac80211 [...]
      Pid: 4164, comm: wpa_supplicant Not tainted 2.6.36-wl+ #119
      Call Trace:
       [<c13779a9>] ? schedule+0x349/0x4c0
       [<c13780d6>] ? schedule_timeout+0x106/0x1e0
       [<c1037f50>] ? process_timeout+0x0/0x10
       [<c1377e8d>] ? wait_for_common+0x9d/0x140
       [<c1029110>] ? default_wake_function+0x0/0x10
       [<f80c6080>] ? carl9170_exec_cmd+0xf0/0x250 [carl9170]
       [<f80c695e>] ? carl9170_set_mac_reg+0x5e/0x70 [carl9170]
       [<f80c3f76>] ? carl9170_op_add_interface+0x176/0x310 [carl9170]
       [...]
      
      rcu_read_unlock() call was erroneously placed after the
      sync. function carl9170_mod_virtual_mac.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      dafeac38
    • R
      mac80211: Fix ibss station got expired immediately · c8716d9d
      Rajkumar Manoharan 提交于
      Station addition in ieee80211_ibss_rx_queued_mgmt is not updating
      sta->last_rx which is causing station expiry in ieee80211_ibss_work
      path. So sta addition and deletion happens repeatedly.
      
      CC: stable@kernel.org
      Signed-off-by: NRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c8716d9d
    • R
      b43: N-PHY: fix infinite-loop-typo · 30115c22
      Rafał Miłecki 提交于
      Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      30115c22
    • G
      wl1251: fix module names · 04348f27
      Grazvydas Ignotas 提交于
      The wl1251 move accidently renamed wl1251_sdio and wl1251_spi
      modules to just sdio and spi. Restore proper module names.
      Signed-off-by: NGrazvydas Ignotas <notasas@gmail.com>
      Acked-by: NKalle Valo <kvalo@adurom.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      04348f27
    • F
      ath9k: fix handling of rate control probe frames · 0299a50a
      Felix Fietkau 提交于
      The ath9k aggregation code was already checking the rate control probe flag
      to prevent starting an aggregate frame with a sampling rate. What was missing
      was closing an aggregate before adding a probing frame to it.
      Without that, rate control cannot have precise control over probing, which
      delays using faster rates when the channel conditions improve.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0299a50a
    • F
      ath9k: fix crash in ath_update_survey_stats · 0845735e
      Felix Fietkau 提交于
      If ah->curchan is uninitialized, the channel index is bogus, which leads
      to invalid memory access when the cycle counters are updated.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0845735e
    • S
      ath9k_hw: Fix divide by zero cases in paprd. · 2d3fca18
      Senthil Balasubramanian 提交于
      We are not handling all divide by zero cases in paprd.
      Add additional checks for divide by zero cases in papard.
      
      This patch has fixes intended for kernel 2.6.36.
      
      Cc: stable@kernel.org
      Signed-off-by: NSenthil Balasubramanian <senthilkumar@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2d3fca18
    • L
      ath9k_hw: Fix TX carrier leakage for IEEE compliance on AR9003 2.2 · 0dfa6dbb
      Luis R. Rodriguez 提交于
      This updates the initvals for the AR9003 2.2 chipsets. The initvals
      are the initial register values we use for our registers upon hardware
      reset. This synchs up the initvals to match what our latest recommendation
      from our systems engineering team.
      
      The description of changes in this update:
      
              Improves ability to support very strong Rx conditions.
              Enhances DFS support for AP-mode.
              Improves performance of Tx carrier leak calibration.
              Adds support for Japan channel 14 Tx filtering requirements.
              Improves Tx power accuracy.
      
      Impact:
      
              Update required to address degraded throughput at very short range.
              Update required for AP-mode DFS certification.
              Update required to comply to IEEE Tx carrier leak specification.
              May not meet expected +/- 2 dB Tx power accuracy without update.
      
      The most important fix here would be the TX carrier leakage required
      to comply with IEEE 802.11 specifications. The group of changes have
      been tested all together in one release.
      
      References:
      
      	Osprey 2.2 header file ver #33
      
      Checksums:
      
      $ ./initvals -f ar9003-2p2
      0x000000004a488fc7        ar9300_2p2_radio_postamble
      0x0000000046cb1300        ar9300Modes_lowest_ob_db_tx_gain_table_2p2
      0x00000000e912711f        ar9300Modes_fast_clock_2p2
      0x0000000037ac0ee8        ar9300_2p2_radio_core
      0x00000000047a7700        ar9300Common_rx_gain_table_merlin_2p2
      0x0000000003f783bb        ar9300_2p2_mac_postamble
      0x00000000301fc841        ar9300_2p2_soc_postamble
      0x000000005ec8075f        ar9200_merlin_2p2_radio_core
      0x0000000083372ffa        ar9300_2p2_baseband_postamble
      0x00000000c4f59974        ar9300_2p2_baseband_core
      0x00000000e20d2e72        ar9300Modes_high_power_tx_gain_table_2p2
      0x000000007fd55c70        ar9300Modes_high_ob_db_tx_gain_table_2p2
      0x0000000029495000        ar9300Common_rx_gain_table_2p2
      0x0000000042cb1300        ar9300Modes_low_ob_db_tx_gain_table_2p2
      0x00000000c4739cd6        ar9300_2p2_mac_core
      0x000000003521a300        ar9300Common_wo_xlna_rx_gain_table_2p2
      0x00000000a15ccf1b        ar9300_2p2_soc_preamble
      0x0000000029734396        ar9300PciePhy_pll_on_clkreq_disable_L1_2p2
      0x000000002d834396        ar9300PciePhy_clkreq_enable_L1_2p2
      0x0000000029834396        ar9300PciePhy_clkreq_disable_L1_2p2
      
      $ ./initvals -f ar9003-2p2 | sha1sum
      0ceddb5cf66737610fb51f04cf3e9ff71870c7b4  -
      
      Cc: stable@kernel.org
      Cc: Yixiang Li <yixiang.li@atheros.com>
      Cc: Don Breslin <don.breslin@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0dfa6dbb
    • L
      cfg80211: fix regression on processing country IEs · a171fba4
      Luis R. Rodriguez 提交于
      The patch 4f366c5d:
      
      	wireless: only use alpha2 regulatory information from country IE
      
      removed some complex intersection we were always doing between the AP's
      country IE info and what we got from CRDA. When CRDA sent us back a
      regulatory domain we would do some sanity checks on that regulatory
      domain response we just got. Part of these sanity checks included
      checking that we already had performed an intersection for the
      request of NL80211_REGDOM_SET_BY_COUNTRY_IE type.
      
      This mean that cfg80211 was only processing country IEs for cases
      where we already had an intersection, but since we removed enforcing
      this this is no longer required, we should just apply the country
      IE country hint with the data received from CRDA.
      
      This patch has fixes intended for kernels >= 2.6.36.
      
      Cc: stable@kernel.org
      Reported-by: NEaswar Krishnan <easwar.krishnan@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a171fba4