1. 11 Jan, 2013 26 commits
  2. 17 Dec, 2012 14 commits
    • Greg Kroah-Hartman's avatar
      Linux 3.4.24 · e56f8b7a
      Greg Kroah-Hartman authored
      e56f8b7a
    • Eric Dumazet's avatar
      rcu: Fix batch-limit size problem · 29251de5
      Eric Dumazet authored
      commit 878d7439 upstream.
      
      Commit 29c00b4a (rcu: Add event-tracing for RCU callback
      invocation) added a regression in rcu_do_batch()
      
      Under stress, RCU is supposed to allow to process all items in queue,
      instead of a batch of 10 items (blimit), but an integer overflow makes
      the effective limit being 1.  So, unless there is frequent idle periods
      (during which RCU ignores batch limits), RCU can be forced into a
      state where it cannot keep up with the callback-generation rate,
      eventually resulting in OOM.
      
      This commit therefore converts a few variables in rcu_do_batch() from
      int to long to fix this problem, along with the module parameters
      controlling the batch limits.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      29251de5
    • Zheng Liu's avatar
      perf test: fix a build error on builtin-test · d5a79aa3
      Zheng Liu authored
      commit 12f8f74b upstream.
      
      Recently I build perf and get a build error on builtin-test.c. The error is as
      following:
      
      $ make
          CC perf.o
          CC builtin-test.o
      cc1: warnings being treated as errors
      builtin-test.c: In function ‘sched__get_first_possible_cpu’:
      builtin-test.c:977: warning: implicit declaration of function ‘CPU_ALLOC’
      builtin-test.c:977: warning: nested extern declaration of ‘CPU_ALLOC’
      builtin-test.c:977: warning: assignment makes pointer from integer without a cast
      builtin-test.c:978: warning: implicit declaration of function ‘CPU_ALLOC_SIZE’
      builtin-test.c:978: warning: nested extern declaration of ‘CPU_ALLOC_SIZE’
      builtin-test.c:979: warning: implicit declaration of function ‘CPU_ZERO_S’
      builtin-test.c:979: warning: nested extern declaration of ‘CPU_ZERO_S’
      builtin-test.c:982: warning: implicit declaration of function ‘CPU_FREE’
      builtin-test.c:982: warning: nested extern declaration of ‘CPU_FREE’
      builtin-test.c:992: warning: implicit declaration of function ‘CPU_ISSET_S’
      builtin-test.c:992: warning: nested extern declaration of ‘CPU_ISSET_S’
      builtin-test.c:998: warning: implicit declaration of function ‘CPU_CLR_S’
      builtin-test.c:998: warning: nested extern declaration of ‘CPU_CLR_S’
      make: *** [builtin-test.o] Error 1
      
      This problem is introduced in 3e7c439a. CPU_ALLOC and related macros are
      missing in sched__get_first_possible_cpu function. In 54489c18, commiter
      mentioned that CPU_ALLOC has been removed. So CPU_ALLOC calls in this
      function are removed to let perf to be built.
      Signed-off-by: default avatarVinson Lee <vlee@twitter.com>
      Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Vinson Lee <vlee@twitter.com>
      Cc: Zheng Liu <wenqing.lz@taobao.com>
      Link: http://lkml.kernel.org/r/1352422726-31114-1-git-send-email-vlee@twitter.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d5a79aa3
    • Dan Williams's avatar
      cdc-acm: implement TIOCSSERIAL to avoid blocking close(2) · 1229a83d
      Dan Williams authored
      commit ba2d8ce9 upstream.
      
      Some devices (ex Nokia C7) simply don't respond at all when data is sent
      to some of their USB interfaces.  The data gets stuck in the TTYs queue
      and sits there until close(2), which them blocks because closing_wait
      defaults to 30 seconds (even though the fd is O_NONBLOCK).  This is
      rarely desired.  Implement the standard mechanism to adjust closing_wait
      and let applications handle it how they want to.
      
      See also 02303f73 for usb_wwan.c.
      Signed-off-by: default avatarDan Williams <dcbw@redhat.com>
      Acked-by: default avatarOliver Neukum <oneukum@suse.de>
      Tested-by: default avatarAleksander Morgado <aleksander@gnu.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1229a83d
    • Dan Carpenter's avatar
      ftrace: Clear bits properly in reset_iter_read() · 455d8953
      Dan Carpenter authored
      commit 70f77b3f upstream.
      
      There is a typo here where '&' is used instead of '|' and it turns the
      statement into a noop.  The original code is equivalent to:
      
      	iter->flags &= ~((1 << 2) & (1 << 4));
      
      Link: http://lkml.kernel.org/r/20120609161027.GD6488@elgon.mountainSigned-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      455d8953
    • Sarah Sharp's avatar
      xhci: Extend Fresco Logic MSI quirk. · 31fdb19e
      Sarah Sharp authored
      commit bba18e33 upstream.
      
      Ali reports that plugging a device into the Fresco Logic xHCI host with
      PCI device ID 1400 produces an IRQ error:
      
       do_IRQ: 3.176 No irq handler for vector (irq -1)
      
      Other early Fresco Logic host revisions don't support MSI, even though
      their PCI config space claims they do.  Extend the quirk to disabling
      MSI to this chipset revision.  Also enable the short transfer quirk,
      since it's likely this revision also has that quirk, and it should be
      harmless to enable.
      
      04:00.0 0c03: 1b73:1400 (rev 01) (prog-if 30 [XHCI])
              Subsystem: 1d5c:1000
              Physical Slot: 3
              Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
              Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
              Latency: 0, Cache Line Size: 64 bytes
              Interrupt: pin A routed to IRQ 51
              Region 0: Memory at d4600000 (32-bit, non-prefetchable) [size=64K]
              Capabilities: [50] Power Management version 3
                      Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
                      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
              Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
                      Address: 00000000feeff00c  Data: 41b1
              Capabilities: [80] Express (v1) Endpoint, MSI 00
                      DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <2us, L1 <32us
                              ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                      DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                              RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                              MaxPayload 128 bytes, MaxReadReq 512 bytes
                      DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                      LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
                              ClockPM- Surprise- LLActRep- BwNot-
                      LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                              ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                      LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
              Kernel driver in use: xhci_hcd
      
      This patch should be backported to stable kernels as old as 2.6.36, that
      contain the commit f5182b41 "xhci:
      Disable MSI for some Fresco Logic hosts."
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: default avatarA Sh <smr.ash1991@gmail.com>
      Tested-by: default avatarA Sh <smr.ash1991@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      31fdb19e
    • Alan Stern's avatar
      USB: OHCI: workaround for hardware bug: retired TDs not added to the Done Queue · 96d791a8
      Alan Stern authored
      commit 50ce5c06 upstream.
      
      This patch (as1636) is a partial workaround for a hardware bug
      affecting OHCI controllers by NVIDIA at least, maybe others too.  When
      the controller retires a Transfer Descriptor, it is supposed to add
      the TD onto the Done Queue.  But sometimes this doesn't happen, with
      the result that ohci-hcd never realizes the corresponding transfer has
      finished.  Symptoms can vary; a typical result is that USB audio stops
      working after a while.
      
      The patch works around the problem by recognizing that TDs are always
      processed in order.  Therefore, if a later TD is found on the Done
      Queue than all the earlier TDs for the same endpoint must be finished
      as well.
      
      Unfortunately this won't solve the problem in cases where the missing
      TD is the last one in the endpoint's queue.  A complete fix would
      require a signficant amount of change to the driver.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarOliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      96d791a8
    • Zhang Rui's avatar
      ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 · a5e247e5
      Zhang Rui authored
      commit 129ff8f8 upstream.
      
      Or else the laptop will boot with a dimmed screen.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=51141Tested-by: default avatarStefan Nagy <public@stefan-nagy.at>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a5e247e5
    • Rafael J. Wysocki's avatar
      ACPI / PNP: Do not crash due to stale pointer use during system resume · fe1fa676
      Rafael J. Wysocki authored
      commit a6b5e88c upstream.
      
      During resume from system suspend the 'data' field of
      struct pnp_dev in pnpacpi_set_resources() may be a stale pointer,
      due to removal of the associated ACPI device node object in the
      previous suspend-resume cycle.  This happens, for example, if a
      dockable machine is booted in the docking station and then suspended
      and resumed and suspended again.  If that happens,
      pnpacpi_build_resource_template() called from pnpacpi_set_resources()
      attempts to use that pointer and crashes.
      
      However, pnpacpi_set_resources() actually checks the device's ACPI
      handle, attempts to find the ACPI device node object attached to it
      and returns an error code if that fails, so in fact it knows what the
      correct value of dev->data should be.  Use this observation to update
      dev->data with the correct value if necessary and dump a call trace
      if that's the case (once).
      
      We still need to fix the root cause of this issue, but preventing
      systems from crashing because of it is an improvement too.
      Reported-and-tested-by: default avatarZdenek Kabelac <zdenek.kabelac@gmail.com>
      References: https://bugzilla.kernel.org/show_bug.cgi?id=51071Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fe1fa676
    • Lan Tianyu's avatar
      ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist. · b54b1f3b
      Lan Tianyu authored
      commit 876ab790 upstream.
      
      Sony Vaio VPCEB1S1E does not resume correctly without
      acpi_sleep=nonvs, so add it to the ACPI sleep blacklist.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=48781Reported-by: default avatarSébastien Wilmet <swilmet@gnome.org>
      Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b54b1f3b
    • Kamil Iskra's avatar
      ACPI / battery: Correct battery capacity values on Thinkpads · b49dc13a
      Kamil Iskra authored
      commit 4000e626 upstream.
      
      Add a quirk to correctly report battery capacity on 2010 and 2011
      Lenovo Thinkpad models.
      
      The affected models that I tested (x201, t410, t410s, and x220)
      exhibit a problem where, when battery capacity reporting unit is mAh,
      the values being reported are wrong.  Pre-2010 and 2012 models appear
      to always report in mWh and are thus unaffected.  Also, in mid-2012
      Lenovo issued a BIOS update for the 2011 models that fixes the issue
      (tested on x220 with a post-1.29 BIOS).  No such update is available
      for the 2010 models, so those still need this patch.
      
      Problem description: for some reason, the affected Thinkpads switch
      the reporting unit between mAh and mWh; generally, mAh is used when a
      laptop is plugged in and mWh when it's unplugged, although a
      suspend/resume or rmmod/modprobe is needed for the switch to take
      effect.  The values reported in mAh are *always* wrong.  This does
      not appear to be a kernel regression; I believe that the values were
      never reported correctly.  I tested back to kernel 2.6.34, with
      multiple machines and BIOS versions.
      
      Simply plugging a laptop into mains before turning it on is enough to
      reproduce the problem.  Here's a sample /proc/acpi/battery/BAT0/info
      from Thinkpad x220 (before a BIOS update) with a 4-cell battery:
      
      present:                 yes
      design capacity:         2886 mAh
      last full capacity:      2909 mAh
      battery technology:      rechargeable
      design voltage:          14800 mV
      design capacity warning: 145 mAh
      design capacity low:     13 mAh
      cycle count:              0
      capacity granularity 1:  1 mAh
      capacity granularity 2:  1 mAh
      model number:            42T4899
      serial number:           21064
      battery type:            LION
      OEM info:                SANYO
      
      Once the laptop switches the unit to mWh (unplug from mains, suspend,
      resume), the output changes to:
      
      present:                 yes
      design capacity:         28860 mWh
      last full capacity:      29090 mWh
      battery technology:      rechargeable
      design voltage:          14800 mV
      design capacity warning: 1454 mWh
      design capacity low:     200 mWh
      cycle count:              0
      capacity granularity 1:  1 mWh
      capacity granularity 2:  1 mWh
      model number:            42T4899
      serial number:           21064
      battery type:            LION
      OEM info:                SANYO
      
      Can you see how the values for "design capacity", etc., differ by a
      factor of 10 instead of 14.8 (the design voltage of this battery)?
      On the battery itself it says: 14.8V, 1.95Ah, 29Wh, so clearly the
      values reported in mWh are correct and the ones in mAh are not.
      
      My guess is that this problem has been around ever since those
      machines were released, but because the most common Thinkpad
      batteries are rated at 10.8V, the error (8%) is small enough that it
      simply hasn't been noticed or at least nobody could be bothered to
      look into it.
      
      My patch works around the problem by adjusting the incorrectly
      reported mAh values by "10000 / design_voltage".  The patch also has
      code to figure out if it should be activated or not.  It only
      activates on Lenovo Thinkpads, only when the unit is mAh, and, as an
      extra precaution, only when the battery capacity reported through
      ACPI does not match what is reported through DMI (I've never
      encountered a machine where the first two conditions would be true
      but the last would not, but better safe than sorry).
      
      I've been using this patch for close to a year on several systems
      without any problems.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=41062Acked-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b49dc13a
    • Greg Kroah-Hartman's avatar
      USB: mark uas driver as BROKEN · 46c117c7
      Greg Kroah-Hartman authored
      commit fb37ef98 upstream.
      
      As reported https://bugzilla.kernel.org/show_bug.cgi?id=51031, the UAS
      driver causes problems and has been asked to be not built into any of
      the major distributions.  To prevent users from running into problems
      with it, and for distros that were not notified, just mark the whole
      thing as broken.
      Acked-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      46c117c7
    • Markus Becker's avatar
      7052793c
    • Peter Korsgaard's avatar
      usb: ftdi_sio: fixup BeagleBone A5+ quirk · 73b01ef4
      Peter Korsgaard authored
      commit 1a88d5ee upstream.
      
      BeagleBone A5+ devices ended up getting shipped with the
      'BeagleBone/XDS100V2' product string, and not XDS100 like it
      was agreed, so adjust the quirk to match.
      
      For details, see the thread on the beagle list:
      
      https://groups.google.com/forum/#!msg/beagleboard/zrFPew9_Wvo/ibWr1-eE8JwJSigned-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      73b01ef4