1. 27 Sep, 2012 2 commits
    • Alan Stern's avatar
      USB: Fix race condition when removing host controllers · 0d00dc26
      Alan Stern authored
      This patch (as1607) fixes a race that can occur if a USB host
      controller is removed while a process is reading the
      /sys/kernel/debug/usb/devices file.
      
      The usb_device_read() routine uses the bus->root_hub pointer to
      determine whether or not the root hub is registered.  The is not a
      valid test, because the pointer is set before the root hub gets
      registered and remains set even after the root hub is unregistered and
      deallocated.  As a result, usb_device_read() or usb_device_dump() can
      access freed memory, causing an oops.
      
      The patch changes the test to use the hcd->rh_registered flag, which
      does get set and cleared at the appropriate times.  It also makes sure
      to hold the usb_bus_list_lock mutex while setting the flag, so that
      usb_device_read() will become aware of new root hubs as soon as they
      are registered.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-by: default avatarDon Zickus <dzickus@redhat.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0d00dc26
    • Joachim Eastwood's avatar
      USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq · 01bb6501
      Joachim Eastwood authored
      Fixes the following NULL pointer dereference:
      [    7.740000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
      [    7.810000] Unable to handle kernel NULL pointer dereference at virtual address 00000028
      [    7.810000] pgd = c3a38000
      [    7.810000] [00000028] *pgd=23a8c831, *pte=00000000, *ppte=00000000
      [    7.810000] Internal error: Oops: 17 [#1] PREEMPT ARM
      [    7.810000] Modules linked in: ohci_hcd(+) regmap_i2c snd_pcm usbcore snd_page_alloc at91_cf snd_timer pcmcia_rsrc snd soundcore gpio_keys regmap_spi pcmcia_core usb_common nls_base
      [    7.810000] CPU: 0    Not tainted  (3.6.0-rc6-mpa+ #264)
      [    7.810000] PC is at __gpio_to_irq+0x18/0x40
      [    7.810000] LR is at ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd]
      [    7.810000] pc : [<c01392d4>]    lr : [<bf08f694>]    psr: 40000093
      [    7.810000] sp : c3a11c40  ip : c3a11c50  fp : c3a11c4c
      [    7.810000] r10: 00000000  r9 : c02dcd6e  r8 : fefff400
      [    7.810000] r7 : 00000000  r6 : c02cc928  r5 : 00000030  r4 : c02dd168
      [    7.810000] r3 : c02e7350  r2 : ffffffea  r1 : c02cc928  r0 : 00000000
      [    7.810000] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [    7.810000] Control: c000717f  Table: 23a38000  DAC: 00000015
      [    7.810000] Process modprobe (pid: 285, stack limit = 0xc3a10270)
      [    7.810000] Stack: (0xc3a11c40 to 0xc3a12000)
      [    7.810000] 1c40: c3a11c6c c3a11c50 bf08f694 c01392cc c3a11c84 c2c38b00 c3806900 00000030
      [    7.810000] 1c60: c3a11ca4 c3a11c70 c0051264 bf08f680 c3a11cac c3a11c80 c003e764 c3806900
      [    7.810000] 1c80: c2c38b00 c02cb05c c02cb000 fefff400 c3806930 c3a11cf4 c3a11cbc c3a11ca8
      [    7.810000] 1ca0: c005142c c005123c c3806900 c3805a00 c3a11cd4 c3a11cc0 c0053f24 c00513e4
      [    7.810000] 1cc0: c3a11cf4 00000030 c3a11cec c3a11cd8 c005120c c0053e88 00000000 00000000
      [    7.810000] 1ce0: c3a11d1c c3a11cf0 c00124d0 c00511e0 01400000 00000001 00000012 00000000
      [    7.810000] 1d00: ffffffff c3a11d94 00000030 00000000 c3a11d34 c3a11d20 c005120c c0012438
      [    7.810000] 1d20: c001dac4 00000012 c3a11d4c c3a11d38 c0009b08 c00511e0 c00523fc 60000013
      [    7.810000] 1d40: c3a11d5c c3a11d50 c0008510 c0009ab4 c3a11ddc c3a11d60 c0008eb4 c00084f0
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff c3a11dec c3a11db8 00000000 c2c38b00 bf08f670 c3806900
      [    7.810000] 1dc0: 00000000 00000080 c02cc928 00000030 c3a11e0c c3a11de0 c0052764 c00520d8
      [    7.810000] 1de0: c3a11dfc 00000000 00000000 00000002 bf090f61 00000004 c02cc930 c02cc928
      [    7.810000] 1e00: c3a11e4c c3a11e10 bf090978 c005269c bf090f61 c02cc928 bf093000 c02dd170
      [    7.810000] 1e20: c3a11e3c c02cc930 c02cc930 bf0911d0 bf0911d0 bf093000 c3a10000 00000000
      [    7.810000] 1e40: c3a11e5c c3a11e50 c0155b7c bf090808 c3a11e7c c3a11e60 c0154690 c0155b6c
      [    7.810000] 1e60: c02cc930 c02cc964 bf0911d0 c3a11ea0 c3a11e9c c3a11e80 c015484c c01545e8
      [    7.810000] 1e80: 00000000 00000000 c01547e4 bf0911d0 c3a11ec4 c3a11ea0 c0152e58 c01547f4
      [    7.810000] 1ea0: c381b88c c384ab10 c2c10540 bf0911d0 00000000 c02d7518 c3a11ed4 c3a11ec8
      [    7.810000] 1ec0: c01544c0 c0152e0c c3a11efc c3a11ed8 c01536cc c01544b0 bf091075 c3a11ee8
      [    7.810000] 1ee0: bf049af0 bf09120c bf0911d0 00000000 c3a11f1c c3a11f00 c0154e9c c0153628
      [    7.810000] 1f00: bf049af0 bf09120c 000ae190 00000000 c3a11f2c c3a11f20 c0155f58 c0154e04
      [    7.810000] 1f20: c3a11f44 c3a11f30 bf093054 c0155f1c 00000000 00006a4f c3a11f7c c3a11f48
      [    7.810000] 1f40: c0008638 bf093010 bf09120c 000ae190 00000000 c00093c4 00006a4f bf09120c
      [    7.810000] 1f60: 000ae190 00000000 c00093c4 00000000 c3a11fa4 c3a11f80 c004fdc4 c000859c
      [    7.810000] 1f80: c3a11fa4 000ae190 00006a4f 00016eb8 000ad018 00000080 00000000 c3a11fa8
      [    7.810000] 1fa0: c0009260 c004fd58 00006a4f 00016eb8 000ae190 00006a4f 000ae100 00000000
      [    7.810000] 1fc0: 00006a4f 00016eb8 000ad018 00000080 000adba0 000ad208 00000000 000ad3d8
      [    7.810000] 1fe0: beaf7ae8 beaf7ad8 000172b8 b6e4e940 20000010 000ae190 00000000 00000000
      [    7.810000] Backtrace:
      [    7.810000] [<c01392bc>] (__gpio_to_irq+0x0/0x40) from [<bf08f694>] (ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd])
      [    7.810000] [<bf08f670>] (ohci_hcd_at91_overcurrent_irq+0x0/0xb4 [ohci_hcd]) from [<c0051264>] (handle_irq_event_percpu+0x38/0x1a8)
      [    7.810000]  r6:00000030 r5:c3806900 r4:c2c38b00
      [    7.810000] [<c005122c>] (handle_irq_event_percpu+0x0/0x1a8) from [<c005142c>] (handle_irq_event+0x58/0x7c)
      [    7.810000] [<c00513d4>] (handle_irq_event+0x0/0x7c) from [<c0053f24>] (handle_simple_irq+0xac/0xd8)
      [    7.810000]  r5:c3805a00 r4:c3806900
      [    7.810000] [<c0053e78>] (handle_simple_irq+0x0/0xd8) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000]  r4:00000030
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c00124d0>] (gpio_irq_handler+0xa8/0xfc)
      [    7.810000]  r4:00000000
      [    7.810000] [<c0012428>] (gpio_irq_handler+0x0/0xfc) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c0009b08>] (handle_IRQ+0x64/0x88)
      [    7.810000]  r4:00000012
      [    7.810000] [<c0009aa4>] (handle_IRQ+0x0/0x88) from [<c0008510>] (at91_aic_handle_irq+0x30/0x38)
      [    7.810000]  r5:60000013 r4:c00523fc
      [    7.810000] [<c00084e0>] (at91_aic_handle_irq+0x0/0x38) from [<c0008eb4>] (__irq_svc+0x34/0x60)
      [    7.810000] Exception stack(0xc3a11d60 to 0xc3a11da8)
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff
      [    7.810000] [<c00520c8>] (__setup_irq+0x0/0x458) from [<c0052764>] (request_threaded_irq+0xd8/0x134)
      [    7.810000] [<c005268c>] (request_threaded_irq+0x0/0x134) from [<bf090978>] (ohci_hcd_at91_drv_probe+0x180/0x41c [ohci_hcd])
      [    7.810000] [<bf0907f8>] (ohci_hcd_at91_drv_probe+0x0/0x41c [ohci_hcd]) from [<c0155b7c>] (platform_drv_probe+0x20/0x24)
      [    7.810000] [<c0155b5c>] (platform_drv_probe+0x0/0x24) from [<c0154690>] (driver_probe_device+0xb8/0x20c)
      [    7.810000] [<c01545d8>] (driver_probe_device+0x0/0x20c) from [<c015484c>] (__driver_attach+0x68/0x88)
      [    7.810000]  r7:c3a11ea0 r6:bf0911d0 r5:c02cc964 r4:c02cc930
      [    7.810000] [<c01547e4>] (__driver_attach+0x0/0x88) from [<c0152e58>] (bus_for_each_dev+0x5c/0x9c)
      [    7.810000]  r6:bf0911d0 r5:c01547e4 r4:00000000
      [    7.810000] [<c0152dfc>] (bus_for_each_dev+0x0/0x9c) from [<c01544c0>] (driver_attach+0x20/0x28)
      [    7.810000]  r7:c02d7518 r6:00000000 r5:bf0911d0 r4:c2c10540
      [    7.810000] [<c01544a0>] (driver_attach+0x0/0x28) from [<c01536cc>] (bus_add_driver+0xb4/0x22c)
      [    7.810000] [<c0153618>] (bus_add_driver+0x0/0x22c) from [<c0154e9c>] (driver_register+0xa8/0x144)
      [    7.810000]  r7:00000000 r6:bf0911d0 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0154df4>] (driver_register+0x0/0x144) from [<c0155f58>] (platform_driver_register+0x4c/0x60)
      [    7.810000]  r7:00000000 r6:000ae190 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0155f0c>] (platform_driver_register+0x0/0x60) from [<bf093054>] (ohci_hcd_mod_init+0x54/0x8c [ohci_hcd])
      [    7.810000] [<bf093000>] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [<c0008638>] (do_one_initcall+0xac/0x174)
      [    7.810000]  r4:00006a4f
      [    7.810000] [<c000858c>] (do_one_initcall+0x0/0x174) from [<c004fdc4>] (sys_init_module+0x7c/0x1a0)
      [    7.810000] [<c004fd48>] (sys_init_module+0x0/0x1a0) from [<c0009260>] (ret_fast_syscall+0x0/0x2c)
      [    7.810000]  r7:00000080 r6:000ad018 r5:00016eb8 r4:00006a4f
      [    7.810000] Code: e24cb004 e59f3028 e1a02000 e7930180 (e5903028)
      [    7.810000] ---[ end trace 85aa37ed128143b5 ]---
      [    7.810000] Kernel panic - not syncing: Fatal exception in interrupt
      
      Commit 6fffb77c (USB: ohci-at91: fix PIO handling in relation with number of
      ports) started setting unused pins to EINVAL. But this exposed a bug in the
      ohci_hcd_at91_overcurrent_irq function where the gpio was used without being
      checked to see if it is valid.
      
      This patches fixed the issue by adding the gpio valid check.
      Signed-off-by: default avatarJoachim Eastwood <joachim.eastwood@jotron.com>
      Cc: stable <stable@vger.kernel.org> # [3.4+] whereever 6fffb77c went
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      01bb6501
  2. 16 Sep, 2012 8 commits
    • Linus Torvalds's avatar
      Linux 3.6-rc6 · 5698bd75
      Linus Torvalds authored
      5698bd75
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 73f8be29
      Linus Torvalds authored
      Pull mfd fixes from Samuel Ortiz:
       "This is the remaining MFD fixes for 3.6, with 5 pending fixes:
      
         - A tps65217 build error fix.
         - A lcp_ich regression fix caused by the MFD driver failing to
           initialize the watchdog sub device due to ACPI conflicts.
         - 2 MAX77693 interrupt handling bug fixes.
         - An MFD core fix, adding an IRQ domain argument to the MFD device
           addition API in order to prevent silent and potentially harmful
           remapping behaviour changes for drivers supporting non-DT
           platforms."
      
      * tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: MAX77693: Fix NULL pointer error when initializing irqs
        mfd: MAX77693: Fix interrupt handling bug
        mfd: core: Push irqdomain mapping out into devices
        mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver
        mfd: Move tps65217 regulator plat data handling to regulator
      73f8be29
    • Linus Torvalds's avatar
      Merge tag 'for-3.6-rc6' of git://gitorious.org/linux-pwm/linux-pwm · c500ce38
      Linus Torvalds authored
      Pull pwm fixes from Thierry Reding:
       "While this comes a bit later than I had wished, both patches are
        rather minor and touch only new drivers so I think these are still
        safe for merging."
      
      * tag 'for-3.6-rc6' of git://gitorious.org/linux-pwm/linux-pwm:
        pwm: pwm-tiehrpwm: Fix conflicting channel period setting
        pwm: pwm-tiecap: Disable APWM mode after configure
      c500ce38
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 76e77daf
      Linus Torvalds authored
      Pull scsi target fixes from Nicholas Bellinger:
       "Here is the current set of target-pending fixes headed for v3.6-final
      
        The main parts of this series include bug-fixes from Paolo Bonzini to
        address an use-after-free bug in pSCSI sense exception handling, along
        with addressing some long-standing bugs wrt the handling of zero-
        length SCSI CDB payloads also specific to pSCSI pass-through device
        backends."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: go through normal processing for zero-length REQUEST_SENSE
        target: support zero allocation length in REQUEST SENSE
        target: support zero-size allocation lengths in transport_kmap_data_sg
        target: fail REPORT LUNS with less than 16 bytes of payload
        target: report too-small parameter lists everywhere
        target: go through normal processing for zero-length PSCSI commands
        target: fix use-after-free with PSCSI sense data
        target: simplify code around transport_get_sense_data
        target: move transport_get_sense_data
        target: Check idr_get_new return value in iscsi_login_zero_tsih_s1
        target: Fix ->data_length re-assignment bug with SCSI overflow
      76e77daf
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9bc67590
      Linus Torvalds authored
      Pull power management fixes from Rafael J. Wysocki:
       "Three ACPI device power management fixes related to checking and
        setting device power states."
      
      * tag 'pm-for-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PM: Use KERN_DEBUG when no power resources are found
        ACPI / PM: Fix resource_lock dead lock in acpi_power_on_device
        ACPI / PM: Infer parent power state from child if unknown, v2
      9bc67590
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 6167f81f
      Linus Torvalds authored
      Pull a btrfs revert from Chris Mason:
       "My for-linus branch has one revert in the new quota code.
      
        We're building up more fixes at etc for the next merge window, but I'm
        keeping them out unless they are bigger regressions or have a huge
        impact."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Revert "Btrfs: fix some error codes in btrfs_qgroup_inherit()"
      6167f81f
    • Linus Torvalds's avatar
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a34689d9
      Linus Torvalds authored
      Pull more sound fixes from Takashi Iwai:
       "Yet more (a bunch of) small fixes that slipped from the previous pull
        request.  Most of commits are pending ASoC fixes, all of which are
        fairly trivial commits."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: wm8904: correct the index
        ALSA: hda - Yet another position_fix quirk for ASUS machines
        ASoC: tegra: fix maxburst settings in dmaengine code
        ASoC: samsung dma - Don't indicate support for pause/resume.
        ASoC: mc13783: Remove mono support
        ASoC: arizona: Fix typo in 44.1kHz rates
        ASoC: spear: correct the check for NULL dma_buffer pointer
        sound: tegra_alc5632: remove HP detect GPIO inversion
        ASoC: atmel-ssc: include linux/io.h for raw io
        ASoC: dapm: Don't force card bias level to be updated
        ASoC: dapm: Make sure we update the bias level for CODECs with no op
        ASoC: am3517evm: fix error return code
        ASoC: ux500_msp_i2s: better use devm functions and fix error return code
        ASoC: imx-sgtl5000: fix error return code
      a34689d9
    • Linus Torvalds's avatar
      Revert "sched: Improve scalability via 'CPU buddies', which withstand random perturbations" · 37407ea7
      Linus Torvalds authored
      This reverts commit 970e1789.
      
      Nikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%
      performance drop on PostgreSQL 9.2 on his machine (running "pgbench").
      
      Borislav Petkov was able to reproduce this, and bisected it to this
      commit 970e1789 ("sched: Improve scalability via 'CPU buddies' ...")
      apparently because the new single-idle-buddy model simply doesn't find
      idle CPU's to reschedule on aggressively enough.
      
      Mike Galbraith suspects that it is likely due to the user-mode spinlocks
      in PostgreSQL not reacting well to preemption, but we don't really know
      the details - I'll just revert the commit for now.
      
      There are hopefully other approaches to improve scheduler scalability
      without it causing these kinds of downsides.
      Reported-by: default avatarNikolay Ulyanitsky <lystor@gmail.com>
      Bisected-by: default avatarBorislav Petkov <bp@alien8.de>
      Acked-by: default avatarMike Galbraith <efault@gmx.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37407ea7
  3. 15 Sep, 2012 15 commits
  4. 14 Sep, 2012 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · a1362d50
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Use after free and new device IDs in bluetooth from Andre Guedes,
          Yevgeniy Melnichuk, Gustavo Padovan, and Henrik Rydberg.
      
       2) Fix crashes with short packet lengths and VLAN in pktgen, from
          Nishank Trivedi.
      
       3) mISDN calls flush_work_sync() with locks held, fix from Karsten
          Keil.
      
       4) Packet scheduler gred parameters are reported to userspace
          improperly scaled, and WRED idling is not performed correctly.  All
          from David Ward.
      
       5) Fix TCP socket refcount problem in ipv6, from Julian Anastasov.
      
       6) ibmveth device has RX queue alignment requirements which are not
          being explicitly met resulting in sporadic failures, fix from
          Santiago Leon.
      
       7) Netfilter needs to take care when interpreting sockets attached to
          socket buffers, they could be time-wait minisockets.  Fix from Eric
          Dumazet.
      
       8) sock_edemux() has the same issue as netfilter did in #7 above, fix
          from Eric Dumazet.
      
       9) Avoid infinite loops in CBQ scheduler with some configurations, from
          Eric Dumazet.
      
      10) Deal with "Reflection scan: an Off-Path Attack on TCP", from Jozsef
          Kadlecsik.
      
      11) SCTP overcharges socket for TX packets, fix from Thomas Graf.
      
      12) CODEL packet scheduler should not reset it's state every time it
          builds a new flow, fix from Eric Dumazet.
      
      13) Fix memory leak in nl80211, from Wei Yongjun.
      
      14) NETROM doesn't check skb_copy_datagram_iovec() return values, from
          Alan Cox.
      
      15) l2tp ethernet was using sizeof(ETH_HLEN) instead of plain ETH_HLEN,
          oops.  From Eric Dumazet.
      
      16) Fix selection of ath9k chips on which PA linearization and AM2PM
          predistoration are used, from Felix Fietkau.
      
      17) Flow steering settings in mlx4 driver need to be validated properly,
          from Hadar Hen Zion.
      
      18) bnx2x doesn't show the correct link duplex setting, from Yaniv
          Rosner.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (75 commits)
        pktgen: fix crash with vlan and packet size less than 46
        bnx2x: Add missing afex code
        bnx2x: fix registers dumped
        bnx2x: correct advertisement of pause capabilities
        bnx2x: display the correct duplex value
        bnx2x: prevent timeouts when using PFC
        bnx2x: fix stats copying logic
        bnx2x: Avoid sending multiple statistics queries
        net: qmi_wwan: call subdriver with control intf only
        net_sched: gred: actually perform idling in WRED mode
        net_sched: gred: fix qave reporting via netlink
        net_sched: gred: eliminate redundant DP prio comparisons
        net_sched: gred: correct comment about qavg calculation in RIO mode
        mISDN: Fix wrong usage of flush_work_sync while holding locks
        netfilter: log: Fix log-level processing
        net-sched: sch_cbq: avoid infinite loop
        net: qmi_wwan: fix Gobi device probing for un2430
        net: fix net/core/sock.c build error
        ixp4xx_hss: fix build failure due to missing linux/module.h inclusion
        caif: move the dereference below the NULL test
        ...
      a1362d50
    • Linus Torvalds's avatar
      Merge tag 'usb-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4bca55d3
      Linus Torvalds authored
      Pull USB patches from Greg Kroah-Hartman:
       "Here are a number of USB patches, a bit more than I normally like this
        late in the -rc series, but given people's vacations (myself
        included), and the kernel summit, it seems to have happened this way.
      
        All are tiny, but they add up.  A number of gadget and xhci fixes, and
        a few new device ids.  All have been tested in linux-next.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
        usb: chipidea: udc: don't stall endpoint if request list is empty in isr_tr_complete_low
        usb: chipidea: cleanup dma_pool if udc_start() fails
        usb: chipidea: udc: fix error path in udc_start()
        usb: chipidea: udc: add pullup fuction, needed by the uvc gadget
        usb: chipidea: udc: fix setup of endpoint maxpacket size
        USB: option: replace ZTE K5006-Z entry with vendor class rule
        EHCI: Update qTD next pointer in QH overlay region during unlink
        USB: cdc-wdm: fix wdm_find_device* return value
        USB: ftdi_sio: do not claim CDC ACM function
        usb: dwc3: gadget: fix pending isoc handling
        usb: renesas_usbhs: fixup DMA transport data alignment
        usb: gadget: at91udc: Don't check for ep->ep.desc
        usb: gadget: at91udc: don't overwrite driver data
        usb: dwc3: core: fix incorrect usage of resource pointer
        usb: musb: musbhsdma: fix IRQ check
        usb: musb: tusb6010: fix error path in tusb_probe()
        usb: musb: host: fix for musb_start_urb Oops
        usb: gadget: dummy_hcd: add support for USB_DT_BOS on rh
        usb: gadget: dummy_hcd: fixup error probe path
        usb: gadget: s3c-hsotg.c: fix error return code
        ...
      4bca55d3
    • Linus Torvalds's avatar
      Merge tag 'tty-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · fe59d297
      Linus Torvalds authored
      Pull TTY fixes from Greg Kroah-Hartman:
       "Here are 2 tiny patches for a serial driver to resolve issues that
        people have reported with the 3.6-rc tree.
      
        Both of these have been in the linux-next tree for a while now.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'tty-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: imx: don't reinit clock in imx_setup_ufcr()
        tty: serial: imx: console write routing is unsafe on SMP
      fe59d297
    • Linus Torvalds's avatar
      Merge tag 'staging-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · f2378e38
      Linus Torvalds authored
      Pull staging tree fixes from Greg Kroah-Hartman:
       "Here are a few staging tree fixes for problems that have been
        reported.
      
        Nothing major, just a number of tiny driver fixes.  All of these have
        been in the linux-next tree for a while.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'staging-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        drm/omap: add more new timings fields
        drm/omap: update for interlaced
        staging: r8712u: fix bug in r8712_recv_indicatepkt()
        staging: zcache: fix cleancache race condition with shrinker
        Staging: Android alarm: IOCTL command encoding fix
        staging: vt6656: [BUG] - Failed connection, incorrect endian.
        staging: ozwpan: fix memcmp() test in oz_set_active_pd()
        staging: wlan-ng: Fix problem with wrong arguments
        staging: comedi: das08: Correct AO output for das08jr-16-ao
        staging: comedi: das08: Correct AI encoding for das08jr-16-ao
        staging: comedi: das08: Fix PCI ref count
        staging: comedi: amplc_pci230: Fix PCI ref count
        staging: comedi: amplc_pc263: Fix PCI ref count
        staging: comedi: amplc_pc236: Fix PCI ref count
        staging: comedi: amplc_dio200: Fix PCI ref count
        staging: comedi: amplc_pci224: Fix PCI ref count
        drivers/iio/adc/at91_adc.c: adjust inconsistent IS_ERR and PTR_ERR
        staging iio: fix potential memory leak in lis3l02dq_ring.c
        staging:iio: prevent divide by zero bugs
      f2378e38
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 0462bfc8
      Linus Torvalds authored
      Pull driver core fix from Greg Kroah-Hartman:
       "Here is one fix for 3.6-rc6 for the kobject.h file.
      
        It fixes a reported oops if CONFIG_HOTPLUG is disabled.  It's been in
        the linux-next tree for a while now.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'driver-core-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kobject: fix oops with "input0: bad kobj_uevent_env content in show_uevent()"
      0462bfc8
    • Linus Torvalds's avatar
      vfs: make O_PATH file descriptors usable for 'fstat()' · 55815f70
      Linus Torvalds authored
      We already use them for openat() and friends, but fstat() also wants to
      be able to use O_PATH file descriptors.  This should make it more
      directly comparable to the O_SEARCH of Solaris.
      
      Note that you could already do the same thing with "fstatat()" and an
      empty path, but just doing "fstat()" directly is simpler and faster, so
      there is no reason not to just allow it directly.
      
      See also commit 332a2e12, which did the same thing for fchdir, for
      the same reasons.
      Reported-by: default avatarольга крыжановская <olga.kryzhanovska@gmail.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: stable@kernel.org    # O_PATH introduced in 3.0+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55815f70
    • Aaron Lu's avatar
      ACPI / PM: Use KERN_DEBUG when no power resources are found · f25b7061
      Aaron Lu authored
      commit a606dac3 adds support to link
      devices which have _PRx, if a device does not have _PRx, a warning
      message will be printed.
      
      This commit is for ZPODD on Intel ZPODD capable platforms, on other
      platforms, it has no problem if there is no power resource for this
      device, so a warning here is not appropriate, change it to debug.
      Reported-by: default avatarBorislav Petkov <bp@amd64.org>
      Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      f25b7061
    • Bo Shen's avatar
      ASoC: wm8904: correct the index · 985b11fa
      Bo Shen authored
      Signed-off-by: default avatarBo Shen <voice.shen@atmel.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      985b11fa
    • Tyler Hicks's avatar
      eCryptfs: Copy up attributes of the lower target inode after rename · 8335eafc
      Tyler Hicks authored
      After calling into the lower filesystem to do a rename, the lower target
      inode's attributes were not copied up to the eCryptfs target inode. This
      resulted in the eCryptfs target inode staying around, rather than being
      evicted, because i_nlink was not updated for the eCryptfs inode. This
      also meant that eCryptfs didn't do the final iput() on the lower target
      inode so it stayed around, as well. This would result in a failure to
      free up space occupied by the target file in the rename() operation.
      Both target inodes would eventually be evicted when the eCryptfs
      filesystem was unmounted.
      
      This patch calls fsstack_copy_attr_all() after the lower filesystem
      does its ->rename() so that important inode attributes, such as i_nlink,
      are updated at the eCryptfs layer. ecryptfs_evict_inode() is now called
      and eCryptfs can drop its final reference on the lower inode.
      
      http://launchpad.net/bugs/561129Signed-off-by: default avatarTyler Hicks <tyhicks@canonical.com>
      Tested-by: default avatarColin Ian King <colin.king@canonical.com>
      Cc: <stable@vger.kernel.org> [2.6.39+]
      8335eafc
    • Tyler Hicks's avatar
      eCryptfs: Call lower ->flush() from ecryptfs_flush() · 64e6651d
      Tyler Hicks authored
      Since eCryptfs only calls fput() on the lower file in
      ecryptfs_release(), eCryptfs should call the lower filesystem's
      ->flush() from ecryptfs_flush().
      
      If the lower filesystem implements ->flush(), then eCryptfs should try
      to flush out any dirty pages prior to calling the lower ->flush(). If
      the lower filesystem does not implement ->flush(), then eCryptfs has no
      need to do anything in ecryptfs_flush() since dirty pages are now
      written out to the lower filesystem in ecryptfs_release().
      Signed-off-by: default avatarTyler Hicks <tyhicks@canonical.com>
      64e6651d
    • Tyler Hicks's avatar
      eCryptfs: Write out all dirty pages just before releasing the lower file · 7149f255
      Tyler Hicks authored
      Fixes a regression caused by:
      
      821f7494 eCryptfs: Revert to a writethrough cache model
      
      That patch reverted some code (specifically, 32001d6f) that was
      necessary to properly handle open() -> mmap() -> close() -> dirty pages
      -> munmap(), because the lower file could be closed before the dirty
      pages are written out.
      
      Rather than reapplying 32001d6f, this approach is a better way of
      ensuring that the lower file is still open in order to handle writing
      out the dirty pages. It is called from ecryptfs_release(), while we have
      a lock on the lower file pointer, just before the lower file gets the
      final fput() and we overwrite the pointer.
      
      https://launchpad.net/bugs/1047261Signed-off-by: default avatarTyler Hicks <tyhicks@canonical.com>
      Reported-by: default avatarArtemy Tregubenko <me@arty.name>
      Tested-by: default avatarArtemy Tregubenko <me@arty.name>
      Tested-by: default avatarColin Ian King <colin.king@canonical.com>
      7149f255
    • Thomas Kavanagh's avatar
      i2c: algo: pca: Fix mode selection for PCA9665 · 5f71a3ef
      Thomas Kavanagh authored
      The code currently always selects turbo mode for PCA9665, no matter which
      clock frequency is configured. This is because it compares the clock frequency
      against constants reflecting (boundary / 100). Compare against real boundary
      frequencies to fix the problem.
      Signed-off-by: default avatarThomas Kavanagh <tkavanagh@juniper.net>
      Signed-off-by: default avatarGuenter Roeck <groeck@juniper.net>
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      5f71a3ef
    • Wolfram Sang's avatar
      MAINTAINERS: fix tree for current i2c-embedded development · 4a5b2b26
      Wolfram Sang authored
      Guide people to where their patches can be found these days.
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Acked-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarBen Dooks <ben-linux@fluff.org>
      4a5b2b26
    • Dave Airlie's avatar
      drm/nouveau: fix booting with plymouth + dumb support · 610bd7da
      Dave Airlie authored
      We noticed a plymouth bug on Fedora 18, and I then
      noticed this stupid thinko, fixing it fixed the problem
      with plymouth.
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      610bd7da
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.6' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 363fca82
      Dave Airlie authored
      Alex writes:
      
      This is the current set of radeon fixes for 3.6.  Two small fixes:
      - fix the fence issues introduced in 3.5 with 64-bit fences
      - PLL fix for multiple DP heads
      
      * 'drm-fixes-3.6' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon: make 64bit fences more robust v3
        drm/radeon: rework pll selection (v3)
      363fca82