1. 27 Apr, 2012 4 commits
  2. 22 Apr, 2012 36 commits
    • Greg Kroah-Hartman's avatar
      Linux 3.0.29 · 41f45f5e
      Greg Kroah-Hartman authored
      41f45f5e
    • Martin Schwidefsky's avatar
      S390: fix tlb flushing for page table pages · a741ac8b
      Martin Schwidefsky authored
      commit cd94154c upstream.
      
      Git commit 36409f63 "use generic RCU
      page-table freeing code" introduced a tlb flushing bug. Partially revert
      the above git commit and go back to s390 specific page table flush code.
      
      For s390 the TLB can contain three types of entries, "normal" TLB
      page-table entries, TLB combined region-and-segment-table (CRST) entries
      and real-space entries. Linux does not use real-space entries which
      leaves normal TLB entries and CRST entries. The CRST entries are
      intermediate steps in the page-table translation called translation paths.
      For example a 4K page access in a three-level page table setup will
      create two CRST TLB entries and one page-table TLB entry. The advantage
      of that approach is that a page access next to the previous one can reuse
      the CRST entries and needs just a single read from memory to create the
      page-table TLB entry. The disadvantage is that the TLB flushing rules are
      more complicated, before any page-table may be freed the TLB needs to be
      flushed. 
      
      In short: the generic RCU page-table freeing code is incorrect for the
      CRST entries, in particular the check for mm_users < 2 is troublesome.
      
      This is applicable to 3.0+ kernels.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a741ac8b
    • Dave Airlie's avatar
      drm/radeon: fix load detect on rn50 with hardcoded EDIDs. · 41c4aac5
      Dave Airlie authored
      commit a09d431f upstream.
      
      When the force changes went in back in 3.3.0, we ended up returning
      disconnected in the !force case, and the connected in when forced,
      as it hit the hardcoded check.
      
      Fix it so all exits go via the hardcoded check and stop spurious
      modesets on platforms with hardcoded EDIDs.
      
      Reported-by: Evan McNabb (Red Hat)
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      41c4aac5
    • Dave Airlie's avatar
      drm/radeon: disable MSI on RV515 · 294256e5
      Dave Airlie authored
      commit 16a5e32b upstream.
      
      My rv515 card is very flaky with msi enabled. Every so often it loses a rearm
      and never comes back, manually banging the rearm brings it back.
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      294256e5
    • Takashi Iwai's avatar
      drm/radeon/kms: fix the regression of DVI connector check · 5ee15f20
      Takashi Iwai authored
      commit e3632507 upstream.
      
      The check of the encoder type in the commit [e00e8b5e: drm/radeon/kms:
      fix analog load detection on DVI-I connectors] is obviously wrong, and
      it's the culprit of the regression on my workstation with DVI-analog
      connection resulting in the blank output.
      
      Fixed the typo now.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5ee15f20
    • Kees Cook's avatar
      futex: Do not leak robust list to unprivileged process · 631792ff
      Kees Cook authored
      commit bdbb776f upstream.
      
      It was possible to extract the robust list head address from a setuid
      process if it had used set_robust_list(), allowing an ASLR info leak. This
      changes the permission checks to be the same as those used for similar
      info that comes out of /proc.
      
      Running a setuid program that uses robust futexes would have had:
        cred->euid != pcred->euid
        cred->euid == pcred->uid
      so the old permissions check would allow it. I'm not aware of any setuid
      programs that use robust futexes, so this is just a preventative measure.
      
      (This patch is based on changes from grsecurity.)
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Darren Hart <dvhart@linux.intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Serge E. Hallyn <serge.hallyn@canonical.com>
      Cc: kernel-hardening@lists.openwall.com
      Cc: spender@grsecurity.net
      Link: http://lkml.kernel.org/r/20120319231253.GA20893@www.outflux.netSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      631792ff
    • Cho, Yu-Chen's avatar
      Bluetooth: Add Atheros maryann PIDVID support · a9dd7318
      Cho, Yu-Chen authored
      commit 07c0ea87 upstream.
      
      Add Atheros maryann 0cf3:311d PIDVID support
      This module is AR3012 Series.
      
      Include /sys/kernel/debug/usb/devices output here for reference
      
      before:
      T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0cf3 ProdID=311d Rev= 0.01
      S:  Manufacturer=Atheros Communications
      S:  Product=Bluetooth USB Host Controller
      S:  SerialNumber=Alaska Day 2006
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      
      after:
      T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0cf3 ProdID=311d Rev= 0.02
      S:  Manufacturer=Atheros Communications
      S:  Product=Bluetooth USB Host Controller
      S:  SerialNumber=Alaska Day 2006
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: default avatarCho, Yu-Chen <acho@suse.com>
      cked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
      Cc: Jonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a9dd7318
    • Eran's avatar
      Bluetooth: Adding USB device 13d3:3375 as an Atheros AR3012. · 3c60ce95
      Eran authored
      commit 9498ba7a upstream.
      
      The bluetooth module in the Asus UX31/UX21 is based on Atheros AR3012
      and requires a firmware to be uploaded before it's usable.
      
      output of usb-devices for this module:
      T:  Bus=01 Lev=02 Prnt=02 Port=07 Cnt=03 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=13d3 ProdID=3375 Rev=00.02
      S:  Manufacturer=Atheros Communications
      S:  Product=Bluetooth USB Host Controller
      S:  SerialNumber=Alaska Day 2006
      C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      Signed-off-by: default avatarEran <eran@over-here.org>
      Tested-by: default avatarMichal Labedzki <michal.labedzki@tieto.com>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      Cc: Jonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3c60ce95
    • NeilBrown's avatar
      md/bitmap: prevent bitmap_daemon_work running while initialising bitmap · a10d1f32
      NeilBrown authored
      commit afbaa90b upstream.
      
      If a bitmap is added while the array is active, it is possible
      for bitmap_daemon_work to run while the bitmap is being
      initialised.
      This is particularly a problem if bitmap_daemon_work sees
      bitmap->filemap as non-NULL before it has been filled in properly.
      So hold bitmap_info.mutex while filling in ->filemap
      to prevent problems.
      
      This patch is suitable for any -stable kernel, though it might not
      apply cleanly before about 3.1.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a10d1f32
    • Tomoya MORINAGA's avatar
      pch_dma: Support new device LAPIS Semiconductor ML7831 IOH · 127f90d6
      Tomoya MORINAGA authored
      commit ca7fe2db upstream.
      
      ML7831 is companion chip for Intel Atom E6xx series.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      127f90d6
    • Tomoya MORINAGA's avatar
      pch_dma: Fix suspend issue · 5e051465
      Tomoya MORINAGA authored
      commit c43f1508 upstream.
      
      Currently, executing suspend/hibernation,
      memory access violation occurs.
      
      In pch_dma_save_regs() called by suspend(),
      you can see the following code.
      
      static void pch_dma_save_regs(struct pch_dma *pd)
      {
      snip...
              list_for_each_entry_safe(chan, _c, &pd->dma.channels, device_node) {
                      pd_chan = to_pd_chan(chan);
      
                      pd->ch_regs[i].dev_addr = channel_readl(pd_chan, DEV_ADDR);
                      pd->ch_regs[i].mem_addr = channel_readl(pd_chan, MEM_ADDR);
                      pd->ch_regs[i].size = channel_readl(pd_chan, SIZE);
                      pd->ch_regs[i].next = channel_readl(pd_chan, NEXT);
      
                      i++;
              }
      }
      
      Max loop count is 12 defined at pci_table.
      So, this caused memory access violation.
      
      This patch fixes the issue
       - Modify array size (MAX_CHAN_NR)
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@linux.intel.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5e051465
    • Tomoya MORINAGA's avatar
      pch_dma: Fix CTL register access issue · c9f52d61
      Tomoya MORINAGA authored
      commit 0b052f4a upstream.
      
      Currently, Mode-Control register is accessed by read-modify-write.
      
      According to DMA hardware specifications datasheet, prohibits this method.
      Because this register resets to 0 by DMA HW after DMA transfer completes.
      Thus, current read-modify-write processing can cause unexpected behavior.
      
      The datasheet says in case of writing Mode-Control register, set the value for only target channel, the others must set '11b'.
      e.g. Set DMA0=01b  DMA11=10b
      CTL0=33333331h
      CTL2=00002333h
      
      NOTE:
      CTL0 includes DMA0~7 Mode-Control register.
      CTL2 includes DMA8~11 Mode-Control register.
      
      This patch modifies the issue.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c9f52d61
    • Alexander Stein's avatar
      pch_dma: Fix channel locking · 724d7ad5
      Alexander Stein authored
      commit 70f18915 upstream.
      
      Fix for the following INFO message
      
      =================================
      [ INFO: inconsistent lock state ]
      2.6.39+ #89
      ---------------------------------
      inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
      rs232/822 [HC1[1]:SC0[0]:HE0:SE1] takes:
       (&(&pd_chan->lock)->rlock){?.....}, at: [<c123b9a1>] pdc_desc_get+0x16/0xab
      {HARDIRQ-ON-W} state was registered at:
        [<c104fe28>] mark_irqflags+0xbd/0x11a
        [<c1050386>] __lock_acquire+0x501/0x6bb
        [<c1050945>] lock_acquire+0x63/0x7b
        [<c131c51d>] _raw_spin_lock_bh+0x43/0x51
        [<c123bee4>] pd_alloc_chan_resources+0x92/0x11e
        [<c123ad62>] dma_chan_get+0x9b/0x107
        [<c123b2d1>] __dma_request_channel+0x61/0xdc
        [<c11ba24b>] pch_request_dma+0x61/0x19e
        [<c11bb3b8>] pch_uart_startup+0x16a/0x1a2
        [<c11b8446>] uart_startup+0x87/0x147
        [<c11b9183>] uart_open+0x117/0x13e
        [<c11a5c7d>] tty_open+0x23c/0x34c
        [<c1097705>] chrdev_open+0x140/0x15f
        [<c10930a6>] __dentry_open.clone.14+0x14a/0x22b
        [<c1093dfb>] nameidata_to_filp+0x36/0x40
        [<c109f28b>] do_last+0x513/0x635
        [<c109f4af>] path_openat+0x9c/0x2aa
        [<c109f6e4>] do_filp_open+0x27/0x69
        [<c1093f02>] do_sys_open+0xfd/0x184
        [<c1093fad>] sys_open+0x24/0x2a
        [<c131d58c>] sysenter_do_call+0x12/0x32
      irq event stamp: 2522
      hardirqs last  enabled at (2521): [<c131ca3b>] _raw_spin_unlock_irqrestore+0x36/0x52
      hardirqs last disabled at (2522): [<c131db27>] common_interrupt+0x27/0x34
      softirqs last  enabled at (2354): [<c102fa11>] __do_softirq+0x10a/0x11a
      softirqs last disabled at (2299): [<c10041a4>] do_softirq+0x57/0xa4
      
      other info that might help us debug this:
      2 locks held by rs232/822:
       #0:  (&tty->atomic_write_lock){+.+.+.}, at: [<c11a4b7a>] tty_write_lock+0x14/0x3c
       #1:  (&port_lock_key){-.....}, at: [<c11bad72>] pch_uart_interrupt+0x17/0x1e9
      
      stack backtrace:
      Pid: 822, comm: rs232 Not tainted 2.6.39+ #89
      Call Trace:
       [<c1319f90>] ? printk+0x19/0x1b
       [<c104f893>] print_usage_bug+0x184/0x18f
       [<c104e5b1>] ? print_irq_inversion_bug+0x10e/0x10e
       [<c104f943>] mark_lock_irq+0xa5/0x1f6
       [<c104fc9c>] mark_lock+0x208/0x2d7
       [<c104fdc0>] mark_irqflags+0x55/0x11a
       [<c1050386>] __lock_acquire+0x501/0x6bb
       [<c10042ee>] ? dump_trace+0x92/0xb6
       [<c1050945>] lock_acquire+0x63/0x7b
       [<c123b9a1>] ? pdc_desc_get+0x16/0xab
       [<c131c2d0>] _raw_spin_lock+0x3e/0x4c
       [<c123b9a1>] ? pdc_desc_get+0x16/0xab
       [<c123b9a1>] pdc_desc_get+0x16/0xab
       [<c10504d8>] ? __lock_acquire+0x653/0x6bb
       [<c123bb2c>] pd_prep_slave_sg+0x7c/0x1cb
       [<c1006c3f>] ? nommu_map_sg+0x6e/0x81
       [<c11bace6>] dma_handle_tx+0x2cf/0x344
       [<c11bad72>] ? pch_uart_interrupt+0x17/0x1e9
       [<c11baebb>] pch_uart_interrupt+0x160/0x1e9
       [<c10642fb>] handle_irq_event_percpu+0x25/0x127
       [<c1064429>] handle_irq_event+0x2c/0x43
       [<c1065e0d>] ? handle_fasteoi_irq+0x84/0x84
       [<c1065eb9>] handle_edge_irq+0xac/0xce
       <IRQ>  [<c1003ecb>] ? do_IRQ+0x38/0x9d
       [<c131db2e>] ? common_interrupt+0x2e/0x34
       [<c105007b>] ? __lock_acquire+0x1f6/0x6bb
       [<c131ca3d>] ? _raw_spin_unlock_irqrestore+0x38/0x52
       [<c11b798b>] ? uart_start+0x2d/0x32
       [<c11b7998>] ? uart_flush_chars+0x8/0xa
       [<c11a7962>] ? n_tty_write+0x12c/0x1c6
       [<c1027a73>] ? try_to_wake_up+0x251/0x251
       [<c11a4d0b>] ? tty_write+0x169/0x1dc
       [<c11a7836>] ? n_tty_ioctl+0xb7/0xb7
       [<c1094841>] ? vfs_write+0x91/0x10d
       [<c11a4ba2>] ? tty_write_lock+0x3c/0x3c
       [<c1094a69>] ? sys_write+0x3e/0x63
       [<c131d58c>] ? sysenter_do_call+0x12/0x32
      Signed-off-by: default avatarAlexander Stein <alexander.stein@systec-electronic.com>
      Tested-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      724d7ad5
    • Tomoya MORINAGA's avatar
      pch_dma: fix DMA issue(ch8-ch11) · e65f3a58
      Tomoya MORINAGA authored
      commit c3d4913c upstream.
      
      ISSUE: In case PCH_DMA with I2S communications with ch8~ch11, sometimes I2S data
      is not send correctly.
      CAUSE: The following patch I submitted before was not enough modification for
      supporting DMA ch8~ch11. The modification for status register of ch8~11 was not
      enough.
      
      pch_dma: Support I2S for ML7213 IOH
      author	Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      	Mon, 9 May 2011 07:09:38 +0000 (16:09 +0900)
      committer	Vinod Koul <vinod.koul@intel.com>
      	Mon, 9 May 2011 11:42:23 +0000 (16:42 +0530)
      commit	194f5f27
      tree	c9d4903ea02b18939a4f390956a48be1a3734517
      parent	60092d0b
      
      This patch fixes the issue.
      We can confirm PCH_DMA with I2S communications with ch8~ch11 works well.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e65f3a58
    • Tomoya MORINAGA's avatar
      8250_pci: Fix kernel panic when pch_uart is disabled · da980f0d
      Tomoya MORINAGA authored
      commit 64d91cfa upstream.
      
      Currently, ".setup" function is not set.
      As a result, when detecting our IOH's uart device without pch_uart, kernel panic
      occurs at the following of pciserial_init_ports().
      
      	for (i = 0; i < nr_ports; i++) {
      		if (quirk->setup(priv, board, &serial_port, i))
      			break;
      
      So, this patch adds the ".setup" function.
      We can use pci_default_setup because our IOH's uart is compatible with 16550.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
      Acked-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      da980f0d
    • Tomoya MORINAGA's avatar
      pch_uart: Set PCIe bus number using probe parameter · 9e2c07db
      Tomoya MORINAGA authored
      commit 6c4b47d2 upstream.
      
      Currently, PCIe bus number is set as fixed value "2".
      However, PCIe bus number is not always "2".
      This patch sets bus number using probe() parameter.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9e2c07db
    • Jonghwan Choi's avatar
      security: fix compile error in commoncap.c · 8f05e5d5
      Jonghwan Choi authored
      commit 51b79bee upstream.
      
      Add missing "personality.h"
      security/commoncap.c: In function 'cap_bprm_set_creds':
      security/commoncap.c:510: error: 'PER_CLEAR_ON_SETID' undeclared (first use in this function)
      security/commoncap.c:510: error: (Each undeclared identifier is reported only once
      security/commoncap.c:510: error: for each function it appears in.)
      Signed-off-by: default avatarJonghwan Choi <jhbird.choi@samsung.com>
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
      Cc: Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f05e5d5
    • Lin Ming's avatar
      ACPICA: Fix to allow region arguments to reference other scopes · 4ce76587
      Lin Ming authored
      commit 8931d9ea upstream.
      
      Allow referenced objects to be in a different scope.
      
      http://www.acpica.org/bugzilla/show_bug.cgi?id=937
      http://marc.info/?l=linux-acpi&m=131636632718222&w=2
      
      ACPI Error: [RAMB] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359)
      ACPI Exception: AE_NOT_FOUND, Could not execute arguments for [RAMW] (Region) (20110112/nsinit-349)
      
          Scope (_SB)
          {
              Name (RAMB, 0xDF5A1018)
              OperationRegion (\RAMW, SystemMemory, RAMB, 0x00010000)
          }
      
      For above ASL code, we need to save scope node(\_SB) to lookup
      the argument node(\_SB.RAMB).
      Reported-by: default avatarJim Green <student.northwestern@gmail.com>
      Signed-off-by: default avatarLin Ming <ming.m.lin@intel.com>
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Cc: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4ce76587
    • Tomoya MORINAGA's avatar
      USB: pch_udc: Support new device LAPIS Semiconductor ML7831 IOH · cd951e04
      Tomoya MORINAGA authored
      commit 731ad81e upstream.
      
      ML7831 is companion chip for Intel Atom E6xx series.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      
      cd951e04
    • Tomoya MORINAGA's avatar
      usb: gadget: pch_udc: Reduce redundant interrupt · d5e285ee
      Tomoya MORINAGA authored
      commit 83331040 upstream.
      
      ISSUE:
      USB Suspend interrupts occur frequently.
      
      CAUSE:
      When it is called pch_udc_reconnect() in USB Suspend, it repeats reset and
      Suspend.
      
      SOLUTION:
      pch_udc_reconnect() does not enable all interrupts.  When an enumeration event
      occurred the driver enables all interrupts.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d5e285ee
    • Tomoya MORINAGA's avatar
      usb: gadget: pch_udc: Fix usb/gadget/pch_udc: Fix ether gadget connect/disconnect issue · c1fb81ad
      Tomoya MORINAGA authored
      commit 1c575d2d upstream.
      
      ISSUE:
      After a USB cable is connect/disconnected, the system rarely freezes.
      
      CAUSE:
      Since the USB device controller cannot know to disconnect the USB cable, when
      it is used without detecting VBUS by GPIO, the UDC driver does not notify to
      USB Gadget.
      
      Since USB Gadget cannot know to disconnect, a false setting occurred when the
      USB cable is connected/disconnect repeatedly.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c1fb81ad
    • Tomoya MORINAGA's avatar
      usb: gadget: pch_udc: Fix USB suspend issue · 1a643544
      Tomoya MORINAGA authored
      commit 84566abb upstream.
      
      ISSUE:
      After USB Suspend, a system rarely freezes.
      
      CAUSE:
      When USB Suspend occurred, the driver is not notifying
      a gadget of the event.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1a643544
    • Tomoya MORINAGA's avatar
      usb: gadget: pch_udc: Fix wrong return value · 6ec7b0ee
      Tomoya MORINAGA authored
      commit c802672c upstream.
      
      ISSUE:
      If the return value of pch_udc_pcd_init() is False, the return value of
      this function is unsettled.
      Since pch_udc_pcd_init() always returns 0, there is not actually the issue.
      
      CAUSE:
      If pch_udc_pcd_init() is True, the variable, retval, is not set for an
      appropriate value.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6ec7b0ee
    • Tomoya MORINAGA's avatar
      usb: gadget: pch_udc: Fix disconnect issue · 21c7c580
      Tomoya MORINAGA authored
      commit c50a3bff upstream.
      
      ISSUE:
      When the driver notifies a gadget of a disconnect event, a system
      rarely freezes.
      
      CAUSE:
      When the driver calls dev->driver->disconnect(), it is not calling
      spin_unlock().
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      21c7c580
    • Tomoya MORINAGA's avatar
      pch_phub: Improve ADE(Address Decode Enable) control · a1fdbba6
      Tomoya MORINAGA authored
      commit 9914a0de upstream.
      
      Currently, external ROM access is enabled/disabled in probe()/remove().
      So, when a buggy software access unanticipated memory area,
      in case of enabling this ADE bit,
      external ROM memory area can be broken.
      
      This patch enables the ADE bit only accessing external ROM area.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
      Cc: Masayuki Ohtak <masa-korg@dsn.okisemi.com>
      Cc: Alexander Stein <alexander.stein@systec-electronic.com>
      Cc: Denis Turischev <denis@compulab.co.il>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a1fdbba6
    • Tomoya MORINAGA's avatar
      pch_phub: Care FUNCSEL register in PM · 7657523f
      Tomoya MORINAGA authored
      commit dd7d7fea upstream.
      
      Only ML7213/ML7223(Bus-n) has this register.
      Currently,this driver doesn't care register "FUNCSEL" in suspend/resume.
      This patch saves/restores FUNCSEL register only when the device is ML7213 or
      ML7223(Bus-n).
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7657523f
    • Tomoya MORINAGA's avatar
      pch_phub: Fix register miss-setting issue · 7566239b
      Tomoya MORINAGA authored
      commit 20ae6d0b upstream.
      
      Register "interrupt delay value" is for GbE which is connected to Bus-m of PCIe.
      However currently, the value is set for Bus-n.
      As a result, the value is not set correctly.
      This patch moves setting the value processing of Bus-n to Bus-m.
      Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7566239b
    • Johan Hovold's avatar
      Bluetooth: hci_core: fix NULL-pointer dereference at unregister · c1a658c9
      Johan Hovold authored
      commit 94324962 upstream.
      
      Make sure hci_dev_open returns immediately if hci_dev_unregister has
      been called.
      
      This fixes a race between hci_dev_open and hci_dev_unregister which can
      lead to a NULL-pointer dereference.
      
      Bug is 100% reproducible using hciattach and a disconnected serial port:
      
      0. # hciattach -n /dev/ttyO1 any noflow
      
      1. hci_dev_open called from hci_power_on grabs req lock
      2. hci_init_req executes but device fails to initialise (times out
         eventually)
      3. hci_dev_open is called from hci_sock_ioctl and sleeps on req lock
      4. hci_uart_tty_close calls hci_dev_unregister and sleeps on req lock in
         hci_dev_do_close
      5. hci_dev_open (1) releases req lock
      6. hci_dev_do_close grabs req lock and returns as device is not up
      7. hci_dev_unregister sleeps in destroy_workqueue
      8. hci_dev_open (3) grabs req lock, calls hci_init_req and eventually sleeps
      9. hci_dev_unregister finishes, while hci_dev_open is still running...
      
      [   79.627136] INFO: trying to register non-static key.
      [   79.632354] the code is fine but needs lockdep annotation.
      [   79.638122] turning off the locking correctness validator.
      [   79.643920] [<c00188bc>] (unwind_backtrace+0x0/0xf8) from [<c00729c4>] (__lock_acquire+0x1590/0x1ab0)
      [   79.653594] [<c00729c4>] (__lock_acquire+0x1590/0x1ab0) from [<c00733f8>] (lock_acquire+0x9c/0x128)
      [   79.663085] [<c00733f8>] (lock_acquire+0x9c/0x128) from [<c0040a88>] (run_timer_softirq+0x150/0x3ac)
      [   79.672668] [<c0040a88>] (run_timer_softirq+0x150/0x3ac) from [<c003a3b8>] (__do_softirq+0xd4/0x22c)
      [   79.682281] [<c003a3b8>] (__do_softirq+0xd4/0x22c) from [<c003a924>] (irq_exit+0x8c/0x94)
      [   79.690856] [<c003a924>] (irq_exit+0x8c/0x94) from [<c0013a50>] (handle_IRQ+0x34/0x84)
      [   79.699157] [<c0013a50>] (handle_IRQ+0x34/0x84) from [<c0008530>] (omap3_intc_handle_irq+0x48/0x4c)
      [   79.708648] [<c0008530>] (omap3_intc_handle_irq+0x48/0x4c) from [<c037499c>] (__irq_usr+0x3c/0x60)
      [   79.718048] Exception stack(0xcf281fb0 to 0xcf281ff8)
      [   79.723358] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
      [   79.731933] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
      [   79.740509] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
      [   79.747497] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [   79.756011] pgd = cf3b4000
      [   79.758850] [00000000] *pgd=8f0c7831, *pte=00000000, *ppte=00000000
      [   79.765502] Internal error: Oops: 80000007 [#1]
      [   79.770294] Modules linked in:
      [   79.773529] CPU: 0    Tainted: G        W     (3.3.0-rc6-00002-gb5d5c879 #421)
      [   79.781066] PC is at 0x0
      [   79.783721] LR is at run_timer_softirq+0x16c/0x3ac
      [   79.788787] pc : [<00000000>]    lr : [<c0040aa4>]    psr: 60000113
      [   79.788787] sp : cf281ee0  ip : 00000000  fp : cf280000
      [   79.800903] r10: 00000004  r9 : 00000100  r8 : b6f234d0
      [   79.806427] r7 : c0519c28  r6 : cf093488  r5 : c0561a00  r4 : 00000000
      [   79.813323] r3 : 00000000  r2 : c054eee0  r1 : 00000001  r0 : 00000000
      [   79.820190] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   79.827728] Control: 10c5387d  Table: 8f3b4019  DAC: 00000015
      [   79.833801] Process gpsd (pid: 1265, stack limit = 0xcf2802e8)
      [   79.839965] Stack: (0xcf281ee0 to 0xcf282000)
      [   79.844573] 1ee0: 00000002 00000000 c0040a24 00000000 00000002 cf281f08 00200200 00000000
      [   79.853210] 1f00: 00000000 cf281f18 cf281f08 00000000 00000000 00000000 cf281f18 cf281f18
      [   79.861816] 1f20: 00000000 00000001 c056184c 00000000 00000001 b6f234d0 c0561848 00000004
      [   79.870452] 1f40: cf280000 c003a3b8 c051e79c 00000001 00000000 00000100 3fa9e7b8 0000000a
      [   79.879089] 1f60: 00000025 cf280000 00000025 00000000 00000000 b6f234d0 00000000 00000004
      [   79.887756] 1f80: 00000000 c003a924 c053ad38 c0013a50 fa200000 cf281fb0 ffffffff c0008530
      [   79.896362] 1fa0: 0001e6a0 0000aab8 80000010 c037499c 0001e6a0 be8dab00 0001e698 00036698
      [   79.904998] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
      [   79.913665] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff 00fbf700 04ffff00
      [   79.922302] [<c0040aa4>] (run_timer_softirq+0x16c/0x3ac) from [<c003a3b8>] (__do_softirq+0xd4/0x22c)
      [   79.931945] [<c003a3b8>] (__do_softirq+0xd4/0x22c) from [<c003a924>] (irq_exit+0x8c/0x94)
      [   79.940582] [<c003a924>] (irq_exit+0x8c/0x94) from [<c0013a50>] (handle_IRQ+0x34/0x84)
      [   79.948913] [<c0013a50>] (handle_IRQ+0x34/0x84) from [<c0008530>] (omap3_intc_handle_irq+0x48/0x4c)
      [   79.958404] [<c0008530>] (omap3_intc_handle_irq+0x48/0x4c) from [<c037499c>] (__irq_usr+0x3c/0x60)
      [   79.967773] Exception stack(0xcf281fb0 to 0xcf281ff8)
      [   79.973083] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
      [   79.981658] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
      [   79.990234] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
      [   79.997161] Code: bad PC value
      [   80.000396] ---[ end trace 6f6739840475f9ee ]---
      [   80.005279] Kernel panic - not syncing: Fatal exception in interrupt
      Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c1a658c9
    • Sarah Sharp's avatar
      xhci: Fix register save/restore order. · 4f4227f3
      Sarah Sharp authored
      commit c7713e73 upstream.
      
      The xHCI 1.0 spec errata released on June 13, 2011, changes the ordering
      that the xHCI registers are saved and restored in.  It moves the
      interrupt pending (IMAN) and interrupt control (IMOD) registers to be
      saved and restored last.  I believe that's because the host controller
      may attempt to fetch the event ring table when interrupts are
      re-enabled.  Therefore we need to restore the event ring registers
      before we re-enable interrupts.
      
      This should be backported to kernels as old as 2.6.37, that contain the
      commit 5535b1d5 "USB: xHCI: PCI power
      management implementation"
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: default avatarElric Fu <elricfu1@gmail.com>
      Cc: Andiry Xu <andiry.xu@amd.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4f4227f3
    • Rajkumar Manoharan's avatar
      ath9k: fix max noise floor threshold · 64bc099c
      Rajkumar Manoharan authored
      commit 2ee0a070 upstream.
      
      Currently the maximum noise floor limit is set as too high (-60dB). The
      assumption of having a higher threshold limit is that it would help
      de-sensitize the receiver (reduce phy errors) from continuous
      interference. But when we have a bursty interference where there are
      collisions and then free air time and if the receiver is desensitized too
      much, it will miss the normal packets too. Lets make use of chips
      specific min, nom and max limits always. This patch helps to improve the
      connection stability in congested networks.
      
      Cc: Paul Stewart <pstew@google.com>
      Tested-by: default avatarGary Morain <gmorain@google.com>
      Signed-off-by: default avatarMadhan Jaganathan <madhanj@qca.qualcomm.com>
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      [bwh: Backported to 3.0/3.2: adjust context]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      64bc099c
    • Eric Paris's avatar
      fcaps: clear the same personality flags as suid when fcaps are used · 79fc983b
      Eric Paris authored
      commit d52fc5dd upstream.
      
      If a process increases permissions using fcaps all of the dangerous
      personality flags which are cleared for suid apps should also be cleared.
      Thus programs given priviledge with fcaps will continue to have address space
      randomization enabled even if the parent tried to disable it to make it
      easier to attack.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Reviewed-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      79fc983b
    • Linus Walleij's avatar
      serial: PL011: move interrupt clearing · c1f34120
      Linus Walleij authored
      commit c3d8b76f upstream.
      
      Commit 360f748b204275229f8398cb2f9f53955db1503b
      "serial: PL011: clear pending interrupts"
      attempts to clear interrupts by writing to a
      yet-unassigned memory address. This fixes the issue.
      
      The breaking patch is marked for stable so should be
      carried along with the other patch.
      
      Cc: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Reported-by: default avatarViresh Kumar <viresh.kumar@st.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Tested-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c1f34120
    • Linus Walleij's avatar
      serial: PL011: clear pending interrupts · 7aea005a
      Linus Walleij authored
      commit 9b96fbac upstream.
      
      Chanho Min reported that when the boot loader transfers
      control to the kernel, there may be pending interrupts
      causing the UART to lock up in an eternal loop trying to
      pick tokens from the FIFO (since the RX interrupt flag
      indicates there are tokens) while in practice there are
      no tokens - in fact there is only a pending IRQ flag.
      
      This patch address the issue with a combination of two
      patches suggested by Russell King that clears and mask
      all interrupts at probe() and clears any pending error
      and RX interrupts at port startup time.
      
      We suspect the spurious interrupts are a side-effect of
      switching the UART from FIFO to non-FIFO mode.
      
      Cc: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
      Reported-by: default avatarChanho Min <chanho0207@gmail.com>
      Suggested-by: default avatarRussell King <linux@arm.linux.org.uk>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: default avatarJong-Sung Kim <neidhard.kim@lge.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7aea005a
    • Elric Fu's avatar
      xHCI: add XHCI_RESET_ON_RESUME quirk for VIA xHCI host · 017652f3
      Elric Fu authored
      commit 457a4f61 upstream.
      
      The suspend operation of VIA xHCI host have some issues and
      hibernate operation works fine, so The XHCI_RESET_ON_RESUME
      quirk is added for it.
      
      This patch should base on "xHCI: Don't write zeroed pointer
      to xHC registers" that is released by Sarah. Otherwise, the
      host system error will ocurr in the hibernate operation
      process.
      
      This should be backported to stable kernels as old as 2.6.37,
      that contain the commit c877b3b2
      "xhci: Add reset on resume quirk for asrock p67 host".
      Signed-off-by: default avatarElric Fu <elricfu1@gmail.com>
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      017652f3
    • Alex He's avatar
      xHCI: Correct the #define XHCI_LEGACY_DISABLE_SMI · 4701517b
      Alex He authored
      commit 95018a53 upstream.
      
      Re-define XHCI_LEGACY_DISABLE_SMI and used it in right way. All SMI enable
      bits will be cleared to zero and flag bits 29:31 are also cleared to zero.
      Other bits should be presvered as Table 146.
      
      This patch should be backported to kernels as old as 2.6.31.
      Signed-off-by: default avatarAlex He <alex.he@amd.com>
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4701517b
    • Sarah Sharp's avatar
      xhci: Restore event ring dequeue pointer on resume. · 12faabb1
      Sarah Sharp authored
      commit fb3d85bc upstream.
      
      The xhci_save_registers() function saved the event ring dequeue pointer
      in the s3 register structure, but xhci_restore_registers() never
      restored it.  No other code in the xHCI successful resume path would
      ever restore it either.  Fix that.
      
      This should be backported to kernels as old as 2.6.37, that contain the
      commit 5535b1d5 "USB: xHCI: PCI power
      management implementation".
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: default avatarElric Fu <elricfu1@gmail.com>
      Cc: Andiry Xu <andiry.xu@amd.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      12faabb1