Skip to content
Commits on Apr 24, 2012
  1. Merge remote branch 'korg/linux-3.0.y' into aosp

    Conflicts:
    	drivers/bluetooth/btusb.c
    committed Apr 24, 2012
Commits on Apr 22, 2012
  1. @gregkh

    Linux 3.0.29

    gregkh committed Apr 22, 2012
  2. @gregkh

    S390: fix tlb flushing for page table pages

    commit cd94154 upstream.
    
    Git commit 36409f6 "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: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Martin Schwidefsky committed with gregkh Apr 11, 2012
  3. @theif @gregkh

    drm/radeon: fix load detect on rn50 with hardcoded EDIDs.

    commit a09d431 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: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    theif committed with gregkh Apr 19, 2012
  4. @theif @gregkh

    drm/radeon: disable MSI on RV515

    commit 16a5e32 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: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    theif committed with gregkh Apr 13, 2012
  5. @tiwai @gregkh

    drm/radeon/kms: fix the regression of DVI connector check

    commit e363250 upstream.
    
    The check of the encoder type in the commit [e00e8b5: 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: Takashi Iwai <tiwai@suse.de>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    tiwai committed with gregkh Apr 18, 2012
  6. @kees @gregkh

    futex: Do not leak robust list to unprivileged process

    commit bdbb776 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: Kees 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.net
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    kees committed with gregkh Mar 19, 2012
  7. @alcho @gregkh

    Bluetooth: Add Atheros maryann PIDVID support

    commit 07c0ea8 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: Cho, Yu-Chen <acho@suse.com>
    cked-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
    Cc: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    alcho committed with gregkh Mar 14, 2012
  8. @gregkh

    Bluetooth: Adding USB device 13d3:3375 as an Atheros AR3012.

    commit 9498ba7 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: Eran <eran@over-here.org>
    Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
    Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
    Cc: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Eran committed with gregkh Dec 5, 2011
  9. @neilbrown @gregkh

    md/bitmap: prevent bitmap_daemon_work running while initialising bitmap

    commit afbaa90 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: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    neilbrown committed with gregkh Apr 12, 2012
  10. @gregkh

    pch_dma: Support new device LAPIS Semiconductor ML7831 IOH

    commit ca7fe2d upstream.
    
    ML7831 is companion chip for Intel Atom E6xx series.
    
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Nov 17, 2011
  11. @gregkh

    pch_dma: Fix suspend issue

    commit c43f150 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: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
    Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Oct 11, 2011
  12. @gregkh

    pch_dma: Fix CTL register access issue

    commit 0b052f4 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: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jul 14, 2011
  13. @gregkh

    pch_dma: Fix channel locking

    commit 70f1891 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: Alexander Stein <alexander.stein@systec-electronic.com>
    Tested-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Alexander Stein committed with gregkh Jun 22, 2011
  14. @gregkh

    pch_dma: fix DMA issue(ch8-ch11)

    commit c3d4913 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	194f5f2
    tree	c9d4903ea02b18939a4f390956a48be1a3734517
    parent	60092d0
    
    This patch fixes the issue.
    We can confirm PCH_DMA with I2S communications with ch8~ch11 works well.
    
    Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh May 31, 2011
  15. @gregkh

    8250_pci: Fix kernel panic when pch_uart is disabled

    commit 64d91cf 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: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
    Acked-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Oct 7, 2011
  16. @gregkh

    pch_uart: Set PCIe bus number using probe parameter

    commit 6c4b47d 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: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jul 20, 2011
  17. @gregkh

    security: fix compile error in commoncap.c

    commit 51b79be 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: Jonghwan Choi <jhbird.choi@samsung.com>
    Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Cc: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Jonghwan Choi committed with gregkh Apr 18, 2012
  18. @gregkh

    ACPICA: Fix to allow region arguments to reference other scopes

    commit 8931d9e 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: Jim Green <student.northwestern@gmail.com>
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Lin Ming committed with gregkh Nov 28, 2011
  19. @gregkh

    USB: pch_udc: Support new device LAPIS Semiconductor ML7831 IOH

    commit 731ad81 upstream.
    
    ML7831 is companion chip for Intel Atom E6xx series.
    
    Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Oct 28, 2011
  20. @gregkh

    usb: gadget: pch_udc: Reduce redundant interrupt

    commit 8333104 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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jan 12, 2012
  21. @gregkh

    usb: gadget: pch_udc: Fix usb/gadget/pch_udc: Fix ether gadget connec…

    …t/disconnect issue
    
    commit 1c575d2 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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jan 12, 2012
  22. @gregkh

    usb: gadget: pch_udc: Fix USB suspend issue

    commit 84566ab 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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jan 12, 2012
  23. @gregkh

    usb: gadget: pch_udc: Fix wrong return value

    commit c802672 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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jan 12, 2012
  24. @gregkh

    usb: gadget: pch_udc: Fix disconnect issue

    commit c50a3bf 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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Tomoya MORINAGA committed with gregkh Jan 12, 2012
  25. @gregkh

    pch_phub: Improve ADE(Address Decode Enable) control

    commit 9914a0d 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: Tomoya 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: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Tomoya MORINAGA committed with gregkh Nov 11, 2011
  26. @gregkh

    pch_phub: Care FUNCSEL register in PM

    commit dd7d7fe 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: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Tomoya MORINAGA committed with gregkh Jul 21, 2011
  27. @gregkh

    pch_phub: Fix register miss-setting issue

    commit 20ae6d0 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: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Tomoya MORINAGA committed with gregkh Jun 17, 2011
  28. @jhovold @gregkh

    Bluetooth: hci_core: fix NULL-pointer dereference at unregister

    commit 9432496 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-gb5d5c87 #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: Johan Hovold <jhovold@gmail.com>
    Acked-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    jhovold committed with gregkh Mar 15, 2012
  29. @gregkh

    xhci: Fix register save/restore order.

    commit c7713e7 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 5535b1d "USB: xHCI: PCI power
    management implementation"
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: Elric Fu <elricfu1@gmail.com>
    Cc: Andiry Xu <andiry.xu@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sarah Sharp committed with gregkh Mar 16, 2012
  30. @gregkh

    ath9k: fix max noise floor threshold

    commit 2ee0a07 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: Gary Morain <gmorain@google.com>
    Signed-off-by: Madhan Jaganathan <madhanj@qca.qualcomm.com>
    Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.0/3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Rajkumar Manoharan committed with gregkh Mar 15, 2012
  31. @eparis @gregkh

    fcaps: clear the same personality flags as suid when fcaps are used

    commit d52fc5d 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: Eric Paris <eparis@redhat.com>
    Reviewed-by: Serge Hallyn <serge.hallyn@canonical.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    eparis committed with gregkh Apr 17, 2012
  32. @linusw @gregkh

    serial: PL011: move interrupt clearing

    commit c3d8b76 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: Viresh Kumar <viresh.kumar@st.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Tested-by: Grant Likely <grant.likely@secretlab.ca>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    linusw committed with gregkh Mar 21, 2012
  33. @linusw @gregkh

    serial: PL011: clear pending interrupts

    commit 9b96fba 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: Chanho Min <chanho0207@gmail.com>
    Suggested-by: Russell King <linux@arm.linux.org.uk>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Jong-Sung Kim <neidhard.kim@lge.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    linusw committed with gregkh Mar 13, 2012
  34. @gregkh

    xHCI: add XHCI_RESET_ON_RESUME quirk for VIA xHCI host

    commit 457a4f6 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 c877b3b
    "xhci: Add reset on resume quirk for asrock p67 host".
    
    Signed-off-by: Elric Fu <elricfu1@gmail.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Elric Fu committed with gregkh Mar 29, 2012
Something went wrong with that request. Please try again.