1. 18 6月, 2011 2 次提交
  2. 17 6月, 2011 7 次提交
  3. 15 6月, 2011 2 次提交
  4. 14 6月, 2011 2 次提交
  5. 12 6月, 2011 8 次提交
  6. 09 6月, 2011 3 次提交
  7. 08 6月, 2011 3 次提交
  8. 07 6月, 2011 3 次提交
    • S
      iwl4965: set tx power after rxon_assoc · 51892dbb
      Stanislaw Gruszka 提交于
      Setting tx power can be deferred during scan or changing channel.
      If after that correct tx power settings will not be sent to device,
      we can observe transmission problems and timeouts. Force to send
      tx power settings also after partial rxon change, to assure device
      always be configured with up-to-date settings.
      
      Resolves:
      https://bugzilla.kernel.org/show_bug.cgi?id=36492
      
      Cc: stable@kernel.org # 2.6.39+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      51892dbb
    • S
      rt2x00: fix rmmod crash · 3bb42a64
      Stanislaw Gruszka 提交于
      Avoid queue and run autowakeup_work when device is not present anymore.
      That prevent rmmod and device remove crash introduced by:
      
      commit 1c0bcf89
      Author: Ivo van Doorn <ivdoorn@gmail.com>
      Date:   Sat Apr 30 17:18:18 2011 +0200
      
          rt2x00: Add autowake support for USB hardware
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3bb42a64
    • S
      iwlagn: use cts-to-self protection on 5000 adapters series · 42b70a5f
      Stanislaw Gruszka 提交于
      This patch fixes 802.11n stability and performance regression we have
      since 2.6.35. It boost performance on my 5GHz N-only network from about
      5MB/s to 8MB/s. Similar percentage boost can be observed on 2.4 GHz.
      
      These are test results of 5x downloading of approximately 700MB iso
      image:
      
      vanilla: 5.27 5.22 4.94 4.47 5.31 ; avr 5.0420 std 0.35110
      patched: 8.07 7.95 8.06 7.99 7.96 ; avr 8.0060 std 0.055946
      
      This was achieved with NetworkManager configured to do not perform
      periodical scans, by configuring constant BSSID. With periodical scans,
      after some time, performance downgrade to unpatched driver level, like
      in example below:
      
      patched: 7.40 7.61 4.28 4.37 4.80 avr 5.6920 std 1.6683
      
      However patch still make better here, since similar test on unpatched
      driver make link disconnects with below messages after some time:
      
      wlan1: authenticate with 00:23:69:35:d1:3f (try 1)
      wlan1: authenticate with 00:23:69:35:d1:3f (try 2)
      wlan1: authenticate with 00:23:69:35:d1:3f (try 3)
      wlan1: authentication with 00:23:69:35:d1:3f timed out
      
      On 2.6.35 kernel patch helps against connection hangs with messages:
      
      iwlagn 0000:20:00.0: queue 10 stuck 3 time. Fw reload.
      iwlagn 0000:20:00.0: On demand firmware reload
      iwlagn 0000:20:00.0: Stopping AGG while state not ON or starting
      
      Cc: stable@kernel.org # 2.6.35+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42b70a5f
  9. 06 6月, 2011 4 次提交
  10. 04 6月, 2011 4 次提交
    • L
      Revert "tty: make receive_buf() return the amout of bytes received" · 55db4c64
      Linus Torvalds 提交于
      This reverts commit b1c43f82.
      
      It was broken in so many ways, and results in random odd pty issues.
      
      It re-introduced the buggy schedule_work() in flush_to_ldisc() that can
      cause endless work-loops (see commit a5660b41: "tty: fix endless
      work loop when the buffer fills up").
      
      It also used an "unsigned int" return value fo the ->receive_buf()
      function, but then made multiple functions return a negative error code,
      and didn't actually check for the error in the caller.
      
      And it didn't actually work at all.  BenH bisected down odd tty behavior
      to it:
        "It looks like the patch is causing some major malfunctions of the X
         server for me, possibly related to PTYs.  For example, cat'ing a
         large file in a gnome terminal hangs the kernel for -minutes- in a
         loop of what looks like flush_to_ldisc/workqueue code, (some ftrace
         data in the quoted bits further down).
      
         ...
      
         Some more data: It -looks- like what happens is that the
         flush_to_ldisc work queue entry constantly re-queues itself (because
         the PTY is full ?) and the workqueue thread will basically loop
         forver calling it without ever scheduling, thus starving the consumer
         process that could have emptied the PTY."
      
      which is pretty much exactly the problem we fixed in a5660b41.
      
      Milton Miller pointed out the 'unsigned int' issue.
      Reported-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reported-by: NMilton Miller <miltonm@bga.com>
      Cc: Stefan Bigler <stefan.bigler@keymile.com>
      Cc: Toby Gray <toby.gray@realvnc.com>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      55db4c64
    • D
      libertas_sdio: handle spurious interrupts · d2ac49fe
      Daniel Drake 提交于
      Commit 06e8935f adds an IRQ handling
      optimization for single-function SDIO cards like this one, but at the
      same time exposes a small hardware bug.
      
      During hardware init, an interrupt is generated with (apparently) no
      source. Previously, mmc threw this interrupt away, but now (due to the
      optimization), the mmc layer passes this onto libertas, before it is ready
      (and before it has enabled interrupts), causing a crash.
      
      Work around this hardware bug by registering the IRQ handler later and
      making it capable of handling interrupts with no cause. The change that
      makes the IRQ handler registration happen later actually eliminates
      the spurious interrupt as well.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d2ac49fe
    • S
      iwlagn: fix channel switch locking · 6f213ff1
      Stanislaw Gruszka 提交于
      We use priv->mutex to avoid race conditions between iwl_chswitch_done()
      and iwlagn_mac_channel_switch(), when marking channel switch in
      progress. But iwl_chswitch_done() can be called in atomic context
      from iwl_rx_csa() or with mutex already taken from iwlagn_commit_rxon().
      
      These bugs were introduced by:
      
      commit 79d07325
      Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Date:   Thu May 6 08:54:11 2010 -0700
      
          iwlwifi: support channel switch offload in driver
      
      To fix remove mutex from iwl_chswitch_done() and use atomic bitops for
      marking channel switch pending.
      
      Also remove iwl2030_hw_channel_switch() since 2000 series adapters are
      2.4GHz only devices.
      
      Cc: stable@kernel.org # 2.6.36+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6f213ff1
    • N
      ath5k: Disable fast channel switching by default · a99168ee
      Nick Kossifidis 提交于
      Disable fast channel change by default on AR2413/AR5413 due to
      some bug reports (it still works for me but it's better to be safe).
      Add a module parameter "fastchanswitch" in case anyone wants to enable
      it and play with it.
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Tested-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a99168ee
  11. 03 6月, 2011 1 次提交
  12. 02 6月, 2011 1 次提交
    • J
      drivers/net/can/flexcan.c: add missing clk_put · 2e4ceec4
      Julia Lawall 提交于
      The failed_get label is used after the call to clk_get has succeeded, so it
      should be moved up above the call to clk_put.
      
      The failed_req labels doesn't do anything different than failed_get, so
      delete it.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @r exists@
      expression e1,e2;
      statement S;
      @@
      
      e1 = clk_get@p1(...);
      ... when != e1 = e2
          when != clk_put(e1)
          when any
      if (...) { ... when != clk_put(e1)
                     when != if (...) { ... clk_put(e1) ... }
      * return@p3 ...;
       } else S
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e4ceec4