30 Jul, 2012

1 commit


23 Jul, 2012

1 commit


14 Jul, 2012

9 commits

  • Pass mount flags to sget() so that it can use them in initialising a new
    superblock before the set function is called. They could also be passed to the
    compare function.

    Signed-off-by: David Howells
    Signed-off-by: Al Viro

    David Howells
     
  • all callers want the same thing, actually - a kinda-sorta analog of
    kern_path_create(). I.e. they want parent vfsmount/dentry (with
    ->i_mutex held, to make sure the child dentry is still their child)
    + the child dentry.

    Signed-off-by Al Viro

    Al Viro
     
  • Pull use-after-free RAID1 bugfix from NeilBrown.

    * tag 'md-3.5-fixes' of git://neil.brown.name/md:
    md/raid1: fix use-after-free bug in RAID1 data-check code.

    Linus Torvalds
     
  • Please pull one hwmon subsystem fix from Jean Delvare.

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (it87) Preserve configuration register bits on init

    Linus Torvalds
     
  • Pull input layer fixes from Dmitry Torokhov:
    "The changes are limited to adding new VID/PID combinations to drivers
    to enable support for new versions of hardware, most notably hardware
    found in new MacBook Pro Retina boxes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xpad - add Andamiro Pump It Up pad
    Input: xpad - add signature for Razer Onza Tournament Edition
    Input: xpad - handle all variations of Mad Catz Beat Pad
    Input: bcm5974 - Add support for 2012 MacBook Pro Retina
    HID: add support for 2012 MacBook Pro Retina

    Linus Torvalds
     
  • Pull media fixes from Mauro Carvalho Chehab:
    - Some regression fixes at the audio part for devices with
    cx23885/cx25840
    - A DMA corruption fix at cx231xx
    - two fixes at the winbond IR driver
    - Several fixes for the EXYNOS media driver (s5p)
    - two fixes at the OMAP3 preview driver
    - one fix at the dvb core failure path
    - an include missing (slab.h) at smiapp-core causing compilation
    breakage
    - em28xx was not loading the IR driver driver anymore.

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (31 commits)
    [media] Revert "[media] V4L: JPEG class documentation corrections"
    [media] s5p-fimc: Add missing FIMC-LITE file operations locking
    [media] omap3isp: preview: Fix contrast and brightness handling
    [media] omap3isp: preview: Fix output size computation depending on input format
    [media] winbond-cir: Initialise timeout, driver_type and allowed_protos
    [media] winbond-cir: Fix txandrx module info
    [media] cx23885: Silence unknown command warnings
    [media] cx23885: add support for HVR-1255 analog (cx23888 variant)
    [media] cx23885: make analog support work for HVR_1250 (cx23885 variant)
    [media] cx25840: fix vsrc/hsrc usage on cx23888 designs
    [media] cx25840: fix regression in HVR-1800 analog audio
    [media] cx25840: fix regression in analog support hue/saturation controls
    [media] cx25840: fix regression in HVR-1800 analog support
    [media] s5p-mfc: Fixed setup of custom controls in decoder and encoder
    [media] cx231xx: don't DMA to random addresses
    [media] em28xx: fix em28xx-rc load
    [media] dvb-core: Release semaphore on error path dvb_register_device()
    [media] s5p-fimc: Stop media entity pipeline if fimc_pipeline_validate fails
    [media] s5p-fimc: Fix compiler warning in fimc-lite.c
    [media] s5p-fimc: media_entity_pipeline_start() may fail
    ...

    Linus Torvalds
     
  • Pull MMC fixes from Chris Ball:
    - Revert a patch that made failing to select power class fatal;
    it turns out that it fails non-fatally on Tegra boards.
    Regression against 3.5-rc1.
    - Add the IRQF_ONESHOT flag to the cd-gpio driver, which turned
    into a regression in 3.5-rc1 when IRQF_ONESHOT became required
    for threaded IRQs with no handler.

    * tag 'mmc-fixes-for-3.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
    mmc: cd-gpio: pass IRQF_ONESHOT to request_threaded_irq()
    mmc: core: Revert "skip card initialization if power class selection fails"

    Linus Torvalds
     
  • Pull late MTD fixes from David Woodhouse:
    - fix 'sparse warning fix' regression which totally breaks MXC NAND
    - fix GPMI NAND regression when used with UBI
    - update/correct sysfs documentation for new 'bitflip_threshold' field
    - fix nandsim build failure

    * tag 'for-linus-20120712' of git://git.infradead.org/linux-mtd:
    mtd: nandsim: don't open code a do_div helper
    mtd: ABI documentation: clarification of bitflip_threshold
    mtd: gpmi-nand: fix read page when reading to vmalloced area
    mtd: mxc_nand: use 32bit copy functions

    Linus Torvalds
     
  • Pull MFD Fixes from Samuel Ortiz:
    - Three Palmas fixes, One of them being a build error fix.
    - Two mc13xx fixes. One for fixing an SPI regmap configuration and
    another one for working around an i.Mx hardware bug.
    - One omap-usb regression fix.
    - One twl6040 build breakage fix.
    - One file deletion (ab5500-core.h) that was overlooked during the last
    merge window.

    * tag 'mfd-for-linus-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: Add missing hunk to change palmas irq to clear on read
    mfd: Fix palmas regulator pdata missing
    mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues.
    mfd: Update twl6040 Kconfig to avoid build breakage
    mfd: Delete ab5500-core.h
    mfd: mc13xxx workaround SPI hardware bug on i.Mx
    mfd: Fix mc13xxx SPI regmap
    mfd: Add terminating entry for i2c_device_id palmas table

    Linus Torvalds
     

13 Jul, 2012

2 commits

  • I couldn't find the vendor ID in any of the online databases, but this
    mat has a Pump It Up logo on the top side of the controller compartment,
    and a disclaimer stating that Andamiro will not be liable on the bottom.

    Signed-off-by: Yuri Khan
    Signed-off-by: Dmitry Torokhov

    Yuri Khan
     
  • We were accidentally losing one bit in the configuration register on
    device initialization. It was reported to freeze one specific system
    right away. Properly preserve all bits we don't explicitly want to
    change in order to prevent that.

    Reported-by: Stevie Trujillo
    Cc: stable@vger.kernel.org
    Signed-off-by: Jean Delvare
    Reviewed-by: Guenter Roeck

    Jean Delvare
     

12 Jul, 2012

15 commits

  • Pull fbdev fixes from Florian Tobias Schandinat:
    "Two fixes for OMAPDSS by Tomi Valkeinen:
    - one to avoid warnings when runtime PM is not enabled
    - one workaround to dependancy issues during suspend/resume"

    * tag 'fbdev-fixes-for-3.5-2' of git://github.com/schandinat/linux-2.6:
    OMAPDSS: fix warnings if CONFIG_PM_RUNTIME=n
    OMAPDSS: Use PM notifiers for system suspend

    Linus Torvalds
     
  • Merge random patches from Andrew Morton.

    * Merge emailed patches from Andrew Morton : (32 commits)
    memblock: free allocated memblock_reserved_regions later
    mm: sparse: fix usemap allocation above node descriptor section
    mm: sparse: fix section usemap placement calculation
    xtensa: fix incorrect memset
    shmem: cleanup shmem_add_to_page_cache
    shmem: fix negative rss in memcg memory.stat
    tmpfs: revert SEEK_DATA and SEEK_HOLE
    drivers/rtc/rtc-twl.c: fix threaded IRQ to use IRQF_ONESHOT
    fat: fix non-atomic NFS i_pos read
    MAINTAINERS: add OMAP CPUfreq driver to OMAP Power Management section
    sgi-xp: nested calls to spin_lock_irqsave()
    fs: ramfs: file-nommu: add SetPageUptodate()
    drivers/rtc/rtc-mxc.c: fix irq enabled interrupts warning
    mm/memory_hotplug.c: release memory resources if hotadd_new_pgdat() fails
    h8300/uaccess: add mising __clear_user()
    h8300/uaccess: remove assignment to __gu_val in unhandled case of get_user()
    h8300/time: add missing #include
    h8300/signal: fix typo "statis"
    h8300/pgtable: add missing #include
    drivers/rtc/rtc-ab8500.c: ensure correct probing of the AB8500 RTC when Device Tree is enabled
    ...

    Linus Torvalds
     
  • Requesting a threaded interrupt without a primary handler and without
    IRQF_ONESHOT is dangerous, and after commit 1c6c6952 ("genirq: Reject
    bogus threaded irq requests"), these requests are rejected. This causes
    ->probe() to fail, and the RTC driver not to be availble.

    To fix, add IRQF_ONESHOT to the IRQ flags.

    Tested on OMAP3730/OveroSTORM and OMAP4430/Panda board using rtcwake to
    wake from system suspend multiple times.

    Signed-off-by: Kevin Hilman
    Cc: Alessandro Zummo
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kevin Hilman
     
  • The code here has a nested spin_lock_irqsave(). It's not needed since
    IRQs are already disabled and it causes a problem because it means that
    IRQs won't be enabled again at the end. The second call to
    spin_lock_irqsave() will overwrite the value of irq_flags and we can't
    restore the proper settings.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Robin Holt
    Cc: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • Fixes

    WARNING: at irq/handle.c:146 handle_irq_event_percpu+0x19c/0x1b8()
    irq 25 handler mxc_rtc_interrupt+0x0/0xac enabled interrupts
    Modules linked in:
    (unwind_backtrace+0x0/0xf0) from (warn_slowpath_common+0x4c/0x64)
    (warn_slowpath_common+0x4c/0x64) from (warn_slowpath_fmt+0x30/0x40)
    (warn_slowpath_fmt+0x30/0x40) from (handle_irq_event_percpu+0x19c/0x1b8)
    (handle_irq_event_percpu+0x19c/0x1b8) from (handle_irq_event+0x28/0x38)
    (handle_irq_event+0x28/0x38) from (handle_level_irq+0x80/0xc4)
    (handle_level_irq+0x80/0xc4) from (generic_handle_irq+0x24/0x38)
    (generic_handle_irq+0x24/0x38) from (handle_IRQ+0x30/0x84)
    (handle_IRQ+0x30/0x84) from (avic_handle_irq+0x2c/0x4c)
    (avic_handle_irq+0x2c/0x4c) from (__irq_svc+0x40/0x60)
    Exception stack(0xc050bf60 to 0xc050bfa8)
    bf60: 00000001 00000000 003c4208 c0018e20 c050a000 c050a000 c054a4c8 c050a000
    bf80: c05157a8 4117b363 80503bb4 00000000 01000000 c050bfa8 c0018e2c c000e808
    bfa0: 60000013 ffffffff
    (__irq_svc+0x40/0x60) from (default_idle+0x1c/0x30)
    (default_idle+0x1c/0x30) from (cpu_idle+0x68/0xa8)
    (cpu_idle+0x68/0xa8) from (start_kernel+0x22c/0x26c)

    Signed-off-by: Benoît Thébaudeau
    Cc: Alessandro Zummo
    Cc: Sascha Hauer
    Acked-by: Uwe Kleine-König
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benoît Thébaudeau
     
  • Without this patch, if Device Tree is enabled the AB8500 RTC wouldn't get
    probed at all, as there is no reference to it from platform code. This
    patch ensures the driver is probed during normal DT start-up.

    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Lee Jones
    Cc: Alessandro Zummo
    Acked-by: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Jones
     
  • This driver's IRQ registration is failing because the kernel now forces
    IRQs to be ONESHOT if no IRQ handler is passed.

    Signed-off-by: Lee Jones
    Cc: Alessandro Zummo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Jones
     
  • `config' is freed and is then used in the rtc_device_unregister() call,
    causing a kernel panic.

    Signed-off-by: Devendra Naga
    Reviewed-by: Viresh Kumar
    Cc: Alessandro Zummo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Devendra Naga
     
  • Pull SCSI fixes from James Bottomley:
    "This is a set of three fixes for data corruption (libsas task file),
    oops causing (NULL in scsi_cmd_to_driver) and driver failure (bnx2i).
    The oops caused by the NULL in scsi_cmd_to_driver() manifests in
    scsi_eh_send_cmd() and has been seen by several people now.

    Signed-off-by: James Bottomley "

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    [SCSI] bnx2i: Removed the reference to the netdev->base_addr
    [SCSI] libsas: fix taskfile corruption in sas_ata_qc_fill_rtf
    [SCSI] Fix NULL dereferences in scsi_cmd_to_driver

    Linus Torvalds
     
  • Do not use MX2_CAMERA_SWAP16 and MX2_CAMERA_PACK_DIR_MSB flags. The driver
    must negotiate with the attached sensor whether the mbus format is UYUV or
    YUYV and set CSICR1 configuration accordingly.

    This is needed for the video function on mach-imx27_visstrim_m10.c to
    perform properly, since an earlier version of this patch has been proven
    wrong and has been reverted and a commit, depending on it: "[media]
    i.MX27: visstrim_m10: Remove use of MX2_CAMERA_SWAP16" is in the mainline.

    Signed-off-by: Javier Martin
    Reviewed-by: Mauro Carvalho Chehab
    Acked-by: Laurent Pinchart
    [ g.liakhovetski@gmx.de: move a macro definition to a more logical place ]
    Signed-off-by: Guennadi Liakhovetski
    [ Applying directly because Mauro is on vacation - Linus ]
    Signed-off-by: Linus Torvalds

    Javier Martin
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    - multiple omap2+ bug fixes
    - a regression on ux500 dt support
    - a build failure on shmobile

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: OMAP2+: omap2plus_defconfig: EHCI driver is not stable, disable it
    ARM: shmobile: fix platsmp.c build when ARCH_SH73A0=n
    ARM: ux500: Over-ride the DT device naming scheme for pinctrl
    ARM: ux500: Fix build errors/warnings when MACH_UX500_DT is not set
    of: address: Don't fail a lookup just because a node has no reg property
    ARM: OMAP2+: hwmod code/clockdomain data: fix 32K sync timer

    Linus Torvalds
     
  • Pull power management fix from Rafael Wysocki:
    "This removes ACPICA code that had already been removed once from the
    kernel already by commit 2780cc4660e1 ("[ACPI] Fix suspend/resume
    lockup issue by leaving Bus Master Arbitration enabled"), because it
    was known to cause systems to lock up during resume from suspend, but
    was re-introduced by mistake during the v3.4 merge window."

    * tag 'pm-for-3.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / PM: Leave Bus Master Arbitration enabled for suspend/resume

    Linus Torvalds
     
  • Pull USB fixes from Greg Kroah-Hartman:
    "Here are a few fixes and new device ids for the 3.5-rc6 tree.

    The PCI changes resolve a long-standing issue with resuming some EHCI
    controllers. It has been acked by the PCI maintainer, and he asked
    for it to go through my USB tree instead of his.

    The xhci patches also resolve a number of reported issues.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'usb-3.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    PCI: EHCI: fix crash during suspend on ASUS computers
    USB: cdc-wdm: fix lockup on error in wdm_read
    USB: metro-usb: fix tty_flip_buffer_push use
    USB: option: Add MEDIATEK product ids
    USB: option: add ZTE MF60
    xhci: Fix hang on back-to-back Set TR Deq Ptr commands.
    usb: Add support for root hub port status CAS

    Linus Torvalds
     
  • Pull misc fix from Greg Kroah-Hartman:
    "Here's a single MEI driver fix that resolves a regression from 3.4
    that a number of people have reported (and sent to me in different
    patches.)

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'char-misc-3.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    mei: pci_resume: set IRQF_ONESHOT for msi request_threaded_irq

    Linus Torvalds
     
  • Pull a late GPIO fix from Linus Walleij:
    "Grr! So typically -next washed out a bug in the bug fixes. This v2 of
    the pull request fixes another OF/DT related issue caused by fixing
    another OF/DT related issue, courtesy of Gerard Sintselaar.

    So please pull the v2. Or pull it on top of the other one, whatever.
    Sorry for the panic mode, I'm in the middle of the Swedish woods,
    supposedly on vacation."

    * tag 'fixes-for-v3.5-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio/gpio-tps65910: gpio_chip.of_node referenced without CONFIG_OF_GPIO defined

    Linus Torvalds
     

11 Jul, 2012

12 commits

  • Signed-off-by: Ilia Katsnelson
    Signed-off-by: Dmitry Torokhov

    Ilia Katsnelson
     
  • The device should be handled by xpad driver instead of generic HID driver.

    Signed-off-by: Yuri Khan
    Acked-by: Jiri Kosina
    Signed-off-by: Dmitry Torokhov

    Yuri Khan
     
  • Fix a boot regression on Mackerel boards with sh_mobile_sdhi
    in existing kernels causing:

    genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq XXX

    caused by 1c6c6952 (genirq: Reject bogus threaded irq requests).

    This is backported from Guennadi's patch:
    "mmc: extend and rename cd-gpio helpers to handle more slot GPIO functions"

    Reported-by: Rafael J. Wysocki
    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • This reverts commit 3d93576e(skip card initialization if
    power class selection fails).
    Problem has been reported when this is used with eMMC4.41
    card with Tegra Platform. Till the issue is root caused,
    bus width selection failure should not be treated as fatal.

    Reported-by: Marc Dietrich
    Signed-Off-by: Venkatraman S
    CC: Ulf Hansson
    CC: Subhash Jadavani
    CC: Saugata Das
    Signed-off-by: Chris Ball

    Venkatraman S
     
  • commit 626f9914 added code to initialize gpio_chip.of_node, but if
    CONFIG_OF_GPIO is not defined gps-tps65910 fails to build with an
    error complaining gpio_chip has no member of_node. I ran into this
    while doing a allyesconfig build on linux-next.

    Signed-off-by: Gerard Snitselaar
    Signed-off-by: Linus Walleij

    Jerry Snitselaar
     
  • Pull GPIO fixes from Linus Walleij:
    "Yes, this is a *LATE* GPIO pull request with fixes for v3.5.

    Grant moved across the planet and accidentally fell off the grid, so
    he asked me to take over the GPIO merges for a while 10 days ago.

    Since then I went over the archives and collected this pile of fixes,
    and pulled two of them from the TI maintainer Kevin Hilman. Then
    waited for them to at least hit linux-next once or twice."

    GPIO fixes for v3.5:
    - Invalid context restore on bank 0 for OMAP driver in runtime
    suspend/resume cycle
    - Check for NULL platform data in sta-2x11 driver
    - Constrain selection of the V1 MSM GPIO driver to applicable platforms
    (Kconfig issue)
    - Make sure the correct output value is set in the wm8994 driver
    - Export devm_gpio_request_one() so it can be used in modules.
    Apparently some in-kernel modules can be configured to use this
    leading to breakage.
    - Check that the GPIO is valid in the lantiq driver
    - Fix the flag bits introduced for v3.5, so they don't overlap
    - Fix a device tree intialization bug for imx21-compatible devices
    - Carry over the OF node to the TPS65910 GPIO chip struct

    * tag 'fixes-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: tps65910: initialize of_node of gpio_chip
    gpio/mxc: make irqs work for fsl,imx21-gpio devices
    gpio: fix bits conflict for gpio flags
    mips: pci-lantiq: Fix check for valid gpio
    gpio: export devm_gpio_request_one
    gpiolib: wm8994: Pay attention to the value set when enabling as output
    gpio/msm_v1: CONFIG_GPIO_MSM_V1 is only available on three SoCs
    gpio-sta2x11: don't use pdata if null
    gpio/omap: fix invalid context restore of gpio bank-0
    gpio/omap: fix irq loss while in idle with debounce on

    Linus Torvalds
     
  • Pull powerpc fixes from Benjamin Herrenschmidt:
    "It looks like my rewrite of our lazy irq scheme is still exposing
    "interesting" issues left and right. The previous fixes are now
    causing an occasional BUG_ON to trigger (which this patch turns into a
    WARN_ON while at it), due to another issue of disconnect of the lazy
    irq state vs the processor state in the idle loop on pseries and
    cell.

    This should fix it properly once for all moving the nasty code to a
    common helper function.

    There's also couple more fixes for some debug stuff that didn't build
    (and helped resolving those problems so it's worth having), along with
    a compile fix for newer gcc's."

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    tty/hvc_opal: Fix debug function name
    powerpc/numa: Avoid stupid uninitialized warning from gcc
    powerpc: Fix build of some debug irq code
    powerpc: More fixes for lazy IRQ vs. idle

    Linus Torvalds
     
  • This is an old suspend/resume lockup fix:

    commit 2780cc4660e1
    Author: Len Brown
    Date: Thu Dec 23 13:43:30 2004 -0500

    [ACPI] Fix suspend/resume lockup issue
    by leaving Bus Master Arbitration enabled.
    The ACPI spec mandates it be disabled only for C3.

    http://bugzilla.kernel.org/show_bug.cgi?id=3599

    Signed-off-by: David Shaohua Li
    Signed-off-by: Len Brown

    The bug snuck back in in commit 2feec47d4c5f (ACPICA: ACPI 5: Support
    for new FADT SleepStatus, SleepControl registers, 2012-02-14),
    presumably by copy/pasting a copy of the code without that fix for the
    legacy case.

    On affected machines, after that commit, the machine locks up hard on
    resume from suspend. The same fix as seven years ago still works.

    Addresses .

    Reported-bisected-and-tested-by: Octavio Alvarez
    Reported-by: Adrian Knoth
    Signed-off-by: Jonathan Nieder
    Cc: stable@vger.kernel.org
    Signed-off-by: Rafael J. Wysocki

    Jonathan Nieder
     
  • This reverts commit 107a84e61cdd3406c842a0e4be7efffd3a05dba6.

    Meelis Roos reports a regression since 3.5-rc5 that stops Sun Fire V100
    and Sun Netra X1 sparc64 machines from booting, hanging after enabling
    serial console. He bisected it to commit 107a84e61cdd.

    Rob Herring explains:
    "The problem is match combinations of compatible plus name and/or type
    fail to match correctly. I have a fix for this, but given how late it
    is for 3.5 I think it is best to revert this for now. There could be
    other cases that rely on the current although wrong behavior. I will
    post an updated version for 3.6."

    Bisected-and-reported-by: Meelis Roos
    Requested-by: Rob Herring
    Cc: Thierry Reding
    Cc: Grant Likely
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • when the default irq quick handler is used then IRQF_ONESHOT must be set
    otherwise the request fails and following error is displayed:

    mei 0000:00:16.0: irq 48 for MSI/MSI-X
    genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 48
    mei 0000:00:16.0: request_threaded_irq failed: irq = 48.
    dpm_run_callback(): pci_pm_resume+0x0/0x140 returns -22
    PM: Device 0000:00:16.0 failed to resume async: error -22

    Reported-by: Peter Wu
    Signed-off-by: Tomas Winkler
    Tested-by: Peter Wu
    Signed-off-by: Roland Dreier
    Cc: stable # 3.5
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • Quite a few ASUS computers experience a nasty problem, related to the
    EHCI controllers, when going into system suspend. It was observed
    that the problem didn't occur if the controllers were not put into the
    D3 power state before starting the suspend, and commit
    151b61284776be2d6f02d48c23c3625678960b97 (USB: EHCI: fix crash during
    suspend on ASUS computers) was created to do this.

    It turned out this approach messed up other computers that didn't have
    the problem -- it prevented USB wakeup from working. Consequently
    commit c2fb8a3fa25513de8fedb38509b1f15a5bbee47b (USB: add
    NO_D3_DURING_SLEEP flag and revert 151b61284776be2) was merged; it
    reverted the earlier commit and added a whitelist of known good board
    names.

    Now we know the actual cause of the problem. Thanks to AceLan Kao for
    tracking it down.

    According to him, an engineer at ASUS explained that some of their
    BIOSes contain a bug that was added in an attempt to work around a
    problem in early versions of Windows. When the computer goes into S3
    suspend, the BIOS tries to verify that the EHCI controllers were first
    quiesced by the OS. Nothing's wrong with this, but the BIOS does it
    by checking that the PCI COMMAND registers contain 0 without checking
    the controllers' power state. If the register isn't 0, the BIOS
    assumes the controller needs to be quiesced and tries to do so. This
    involves making various MMIO accesses to the controller, which don't
    work very well if the controller is already in D3. The end result is
    a system hang or memory corruption.

    Since the value in the PCI COMMAND register doesn't matter once the
    controller has been suspended, and since the value will be restored
    anyway when the controller is resumed, we can work around the BIOS bug
    simply by setting the register to 0 during system suspend. This patch
    (as1590) does so and also reverts the second commit mentioned above,
    which is now unnecessary.

    In theory we could do this for every PCI device. However to avoid
    introducing new problems, the patch restricts itself to EHCI host
    controllers.

    Finally the affected systems can suspend with USB wakeup working
    properly.

    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=37632
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=42728
    Based-on-patch-by: AceLan Kao
    Signed-off-by: Alan Stern
    Tested-by: Dâniel Fraga
    Tested-by: Javier Marcet
    Tested-by: Andrey Rahmatullin
    Tested-by: Oleksij Rempel
    Tested-by: Pavel Pisa
    Cc: stable
    Acked-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Add support for the 15'' MacBook Pro Retina model (MacBookPro10,1).

    Patch originally written by clipcarl (forums.opensuse.org).

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg