1. 21 Aug, 2012 9 commits
    • Huang Ying's avatar
      PCI/PM: Fix config reg access for D3cold and bridge suspending · 3d8387ef
      Huang Ying authored
      This patch fixes the following bug:
      
      http://marc.info/?l=linux-pci&m=134338059022620&w=2
      
      Where lspci does not work properly if a device and the corresponding
      parent bridge (such as PCIe port) is suspended.  This is because the
      device configuration space registers will be not accessible if the
      corresponding parent bridge is suspended or the device is put into
      D3cold state.
      
      To solve the issue, the bridge/PCIe port connected to the device is
      put into active state before read/write configuration space registers.
      If the device is in D3cold state, it will be put into active state
      too.
      
      To avoid resume/suspend PCIe port for each configuration register
      read/write, a small delay is added before the PCIe port to go
      suspended.
      Reported-by: default avatarBjorn Mork <bjorn@mork.no>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      3d8387ef
    • Huang Ying's avatar
      PCI/PM: Keep parent bridge active when probing device · ea8c88f1
      Huang Ying authored
      This patch fixes the following bug:
      
      http://marc.info/?l=linux-pci&m=134329923124234&w=2
      
      The root cause of the bug is as follow.
      
      If a device is not bound with the corresponding driver, the device
      runtime PM will be disabled and the device will be put into suspended
      state.  So that, the bridge/PCIe port connected to it may be put into
      suspended and low power state.  When do probing for the device later,
      because the bridge/PCIe port connected to it is in low power state,
      the IO access to device may fail.
      
      To solve the issue, the bridge/PCIe port connected to the device is
      put into active state before probing.
      Reported-by: default avatarBjorn Mork <bjorn@mork.no>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      ea8c88f1
    • Huang Ying's avatar
      PCI/PM: Enable D3/D3cold by default for most devices · 4f9c1397
      Huang Ying authored
      This patch fixes the following bug:
      
      http://marc.info/?l=linux-usb&m=134318961120825&w=2
      
      Originally, device lower power states include D1, D2, D3.  After that,
      D3 is further divided into D3hot and D3cold.  To support both scenario
      safely, original D3 is mapped to D3cold.
      
      When adding D3cold support, because worry about some device may have
      broken D3cold support, D3cold is disabled by default.  This disable D3
      on original platform too.  But some original platform may only have
      working D3, but no working D1, D2.  The root cause of the above bug is
      it too.
      
      To deal with this, this patch enables D3/D3cold by default for most
      devices.  This restores the original behavior.  For some devices that
      suspected to have broken D3cold support, such as PCIe port, D3cold is
      disabled by default.
      Reported-by: default avatarBjorn Mork <bjorn@mork.no>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      4f9c1397
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · a6b881a5
      Linus Torvalds authored
      Pull m68knommu arch fixes from Greg Ungerer:
       "This contains 2 fixes.  One fixes compilation of ColdFire clk code,
        the other makes sure we use the generic atomic64 support on all m68k
        targets."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: select CONFIG_GENERIC_ATOMIC64 for all m68k CPU types
        m68knommu: select CONFIG_HAVE_CLK for ColdFire CPU types
      a6b881a5
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-v3.6-rc3' of... · 8f6c1ca9
      Linus Torvalds authored
      Merge tag 'pinctrl-fixes-v3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pin control fixes from Linus Walleij:
       - Fixed Nomadik errorpath
       - Fixed documentation spelling errors
       - Forward-declare struct device in a header file
       - Remove some extraneous code lines when getting pinctrl states
       - Correct the i.MX51 configure register number
       - Fix the Nomadik keypad function group list
      
      * tag 'pinctrl-fixes-v3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl/nomadik: add kp_b_2 keyboard function group list
        pinctrl: imx51: fix .conf_reg of MX51_PAD_SD2_CMD__CSPI_MOSI
        trivial: pinctrl core: remove extraneous code lines
        pinctrl: header: trivial: declare struct device
        Documentation/pinctrl.txt: Fix some misspelled macros
        pinctrl/nomadik: fix null in irqdomain errorpath
      8f6c1ca9
    • Linus Torvalds's avatar
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 4459f397
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This update became slightly bigger than usual for rc3, but most of the
        commits are small and trivial.  A large chunk is found for HD-audio
        ca0132 codec, which is mostly a clean up of the specific code, to make
        SPDIF working properly, and also in the new ASoC Arizona driver.
      
        One important fix is for usb-audio Oops fix since 3.5.  We still see
        some EHCI related bandwidth problem, but usb-audio should be more
        stabilized now.
      
        Other than that, a Kconfig fix is spread over files, and various
        HD-audio and ASoC fixes as usual, in addition to Julia's error path
        fixes."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (42 commits)
        ALSA: snd-als100: fix suspend/resume
        ALSA: hda - Fix leftover codec->power_transition
        ALSA: hda - don't create dysfunctional mixer controls for ca0132
        ALSA: sound/ppc/snd_ps3.c: fix error return code
        ALSA: sound/pci/rme9652/hdspm.c: fix error return code
        ALSA: sound/pci/sis7019.c: fix error return code
        ALSA: sound/pci/ctxfi/ctatc.c: fix error return code
        ALSA: sound/atmel/ac97c.c: fix error return code
        ALSA: sound/atmel/abdac.c: fix error return code
        ALSA: fix pcm.h kernel-doc warning and notation
        sound: oss/sb_audio: prevent divide by zero bug
        ASoC: wm9712: Fix inverted capture volume
        ASoC: wm9712: Fix microphone source selection
        ASoC: wm5102: Remove DRC2
        ALSA: hda - Don't send invalid volume knob command on IDT 92hd75bxx
        ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream
        ALSA: lx6464es: Add a missing error check
        ALSA: hda - Fix 'Beep Playback Switch' with no underlying mute switch
        ASoC: jack: Always notify full jack status
        ASoC: wm5110: Add missing input PGA routes
        ...
      4459f397
    • Eric Dumazet's avatar
      task_work: add a scheduling point in task_work_run() · f341861f
      Eric Dumazet authored
      It seems commit 4a9d4b02 ("switch fput to task_work_add") re-
      introduced the problem addressed in 944be0b2 ("close_files(): add
      scheduling point")
      
      If a server process with a lot of files (say 2 million tcp sockets) is
      killed, we can spend a lot of time in task_work_run() and trigger a soft
      lockup.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f341861f
    • Dave Airlie's avatar
      fbcon: fix race condition between console lock and cursor timer · ec5da7f8
      Dave Airlie authored
      So we've had a fair few reports of fbcon handover breakage between
      efi/vesafb and i915 surface recently, so I dedicated a couple of
      days to finding the problem.
      
      Essentially the last thing we saw was the conflicting framebuffer
      message and that was all.
      
      So after much tracing with direct netconsole writes (printks
      under console_lock not so useful), I think I found the race.
      
        Thread A (driver load)    Thread B (timer thread)
          unbind_con_driver ->              |
          bind_con_driver ->                |
          vc->vc_sw->con_deinit ->          |
          fbcon_deinit ->                   |
          console_lock()                    |
              |                             |
              |                       fbcon_flashcursor timer fires
              |                       console_lock() <- blocked for A
              |
              |
        fbcon_del_cursor_timer ->
          del_timer_sync
          (BOOM)
      
      Of course because all of this is under the console lock,
      we never see anything, also since we also just unbound the active
      console guess what we never see anything.
      
      Hopefully this fixes the problem for anyone seeing vesafb->kms
      driver handoff.
      Signed-off-by: default avatarDavid Airlie <airlied@redhat.com>
      Acked-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: stable@vger.kernel.org
      Tested-by: default avatarJosh Boyer <jwboyer@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ec5da7f8
    • Ondrej Zary's avatar
      ALSA: snd-als100: fix suspend/resume · 53e1719f
      Ondrej Zary authored
      snd_card_als100_probe() does not set pcm field in struct snd_sb.
      As a result, PCM is not suspended and applications don't know that they need
      to resume the playback.
      
      Tested with Labway A381-F20 card (ALS120).
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      53e1719f
  2. 20 Aug, 2012 31 commits