05 Aug, 2013

1 commit


29 Jul, 2013

4 commits

  • Linus Torvalds
     
  • …/linusw/linux-pinctrl

    Pull pin control fixes from Linus Walleij:
    - Driver fixes for AM33xx, SIRF and PFC pin controllers
    - Fix a compile warning from the pinctrl single-register driver
    - Fix a little nasty memory leak

    * tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: fix a memleak when freeing maps
    pinctrl: pinctrl-single: fix compile warning when no CONFIG_PM
    pinctrl: sh-pfc: fix SDHI0 VccQ regulator on sh73a0 with DT
    arm/dts: sirf: fix the pingroup name mismatch between drivers and dts
    pinctrl: sirf: add usp0_uart_nostreamctrl pin group for usp-uart without flowctrl
    pinctrl: sirf: fix the pin number and mux bit for usp0
    pinctrl: am33xx dt binding: correct include path

    Linus Torvalds
     
  • …t/rostedt/linux-trace

    Pull tracing fixes from Steven Rostedt:
    "Oleg is working on fixing a very tight race between opening a event
    file and deleting that event at the same time (both must be done as
    root).

    I also found a bug while testing Oleg's patches which has to do with a
    race with kprobes using the function tracer.

    There's also a deadlock fix that was introduced with the previous
    fixes"

    * tag 'trace-fixes-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Remove locking trace_types_lock from tracing_reset_all_online_cpus()
    ftrace: Add check for NULL regs if ops has SAVE_REGS set
    tracing: Kill trace_cpu struct/members
    tracing: Change tracing_fops/snapshot_fops to rely on tracing_get_cpu()
    tracing: Change tracing_entries_fops to rely on tracing_get_cpu()
    tracing: Change tracing_stats_fops to rely on tracing_get_cpu()
    tracing: Change tracing_buffers_fops to rely on tracing_get_cpu()
    tracing: Change tracing_pipe_fops() to rely on tracing_get_cpu()
    tracing: Introduce trace_create_cpu_file() and tracing_get_cpu()

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is five bug fixes, two of which fix long standing problems
    causing crashes (sd and mvsas). The remaining three are hung (isci
    race) or lost (qla2xxx, isci) devices"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    [SCSI] isci: fix breakage caused by >16byte CDB patch
    [SCSI] mvsas: Fix kernel panic on tile due to unaligned data access
    [SCSI] sd: fix crash when UA received on DIF enabled device
    [SCSI] qla2xxx: Properly set the tagging for commands.
    [SCSI] isci: Fix a race condition in the SSP task management path

    Linus Torvalds
     

27 Jul, 2013

14 commits

  • Pull drm fixes from Dave Airlie:
    "This is just a regular fixes pull apart from the qxl one, it has
    radeon and intel bits in it,

    The intel fixes are for a regression with the RC6 fix and a 3.10 hdmi
    regression, whereas radeon is more DPM fixes, a few lockup fixes and
    some rn50/r100 DAC fixes"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/dpm: fix r600_enable_sclk_control()
    drm/radeon/dpm: implement force performance levels for rv6xx
    drm/radeon/dpm: fix displaygap programming on rv6xx
    drm/radeon/dpm: fix a typo in the rv6xx mclk setup
    drm/i915: initialize gt_lock early with other spin locks
    drm/i915: fix hdmi portclock limits
    drm/radeon: fix combios tables on older cards
    drm/radeon: improve dac adjust heuristics for legacy pdac
    drm/radeon: Another card with wrong primary dac adj
    drm/radeon: fix endian issues with DP handling (v3)
    drm/radeon/vm: only align the pt base to 32k
    drm/radeon: wait for 3D idle before using CP DMA

    Linus Torvalds
     
  • Pull qxl drm fixes from Dave Airlie:
    "Okay as I warned, the qxl driver was running a bit free and loose with
    its ttm object reservations and the new lockdep enabled reservation
    tracking shone a bright light into it, it also with the new
    reservations mutexes hits a possible deadlock during boot.

    The first patch is a real fix to render the console correctly as the
    driver used to just drop irq renderering as too hard, this also fixes
    a sleeping while atomic warning.

    The other two patches are the big ugly ones that redo how the driver
    allocates objects and reserves them and makes things all work
    properly, I've tested this in a VM, and compared to the current code
    which hits a lockdep warning and the sleep while atomic warning before
    failing.

    So sorry this is coming in late, I should have tested qxl before
    merging the mutex code, but I'd rather just fix qxl with this than
    revert the reservations code at this point"

    * 'qxl-fixes' of git://people.freedesktop.org/~airlied/linux:
    qxl: convert qxl driver to proper use for reservations
    qxl: allow creation of pre-pinned objects and use for releases.
    drm/qxl: add delayed fb operations

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These are just two fixes, a revert of the would-be backlight fix that
    didn't work and an intel_pstate fix for two problems related to
    maximum P-state selection.

    Specifics:

    - Revert of the ACPI video commit that I hoped would help fix
    backlight problems related to Windows 8 compatibility on some
    systems. Unfortunately, it turned out to cause problems to happen
    too.

    - Fix for two problems in intel_pstate, a possible failure to respond
    to a load change on a quiet system and a possible failure to select
    the highest available P-state on some systems. From Dirk
    Brandewie"

    * tag 'pm+acpi-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI / video / i915: No ACPI backlight if firmware expects Windows 8"
    cpufreq / intel_pstate: Change to scale off of max P-state

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:
    - Stack size increased to 16K (similar to other 64-bit architectures)
    - Additional cache flushing for secondary CPUs boot mode

    * tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
    arm64: Change kernel stack size to 16K
    arm64: Fix definition of arm_pm_restart to match the declaration
    arm64: virt: ensure visibility of __boot_cpu_mode

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "This is a largeish batch of fixes, mostly because I missed -rc2 due to
    travel/vacation. So in number these are a bit more than ideal unless
    you amortize them over two -rcs.

    Quick breakdown:
    - Defconfig updates
    - Making multi_v7_defconfig useful on more hardware to encourage
    single-image usage
    - Davinci and nomadik updates due to new code merged this merge
    window
    - Fixes for UART on Samsung platforms, both PM and clock-related
    - A handful of warning fixes from defconfig builds, including for
    max8925 backlight and pxamci (both with appropriate acks)
    - Exynos5440 fixes for LPAE configuration, PM
    - ...plus a bunch of other smaller changes all over the place

    I expect to switch to regressions-or-severe-bugs-only fixes from here
    on out"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
    mfd: max8925: fix dt code for backlight
    ARM: omap5: Only select errata 798181 if SMP
    ARM: EXYNOS: Update CONFIG_ARCH_NR_GPIO for Exynos
    ARM: EXYNOS: Fix low level debug support
    ARM: SAMSUNG: Save/restore only selected uart's registers
    ARM: SAMSUNG: Add SAMSUNG_PM config option to select pm
    ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART
    ARM: multi_v7_defconfig: Select USB chipidea driver
    ARM: pxa: propagate errors from regulator_enable() to pxamci
    ARM: zynq: fix compilation warning
    ARM: keystone: fix compilation warning
    ARM: highbank: Only touch common coherency control register fields
    ARM: footbridge: fix overlapping PCI mappings
    dmaengine: shdma: fix a build failure on platforms with no DMA support
    ARM: STi: Set correct ARM ERRATAs.
    ARM: dts: STi: Fix pinconf setup for STiH416 serial2
    ARM: nomadik: configure for NO_HZ and HRTIMERS
    ARM: nomadik: update defconfig base
    ARM: nomadik: Update MMC defconfigs
    ARM: davinci: defconfig: enable EDMA driver
    ...

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of USB fixes for 3.11-rc3.

    Lots of little things, nothing major. A number of new device ids,
    build fixes for DMA, and a bunch of other minor things. All of these
    have been in the linux-next tree"

    * tag 'usb-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
    usb: Clear both buffers when clearing a control transfer TT buffer.
    usb/gadget: free opts struct on error recovery
    USB: mos7840: fix memory leak in open
    usb: serial: option.c: remove ONDA MT825UP product ID fromdriver
    usb: serial: option: add Olivetti Olicard 200
    usb: serial: option: blacklist ONDA MT689DC QMI interface
    xhci: fix null pointer dereference on ring_doorbell_for_active_rings
    usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0
    usb: fix build warning in pci-quirks.h when CONFIG_PCI is not enabled
    usb: xhci: Mark two functions __maybe_unused
    xhci: Avoid NULL pointer deref when host dies.
    usb: serial: option: Add ONYX 3G device support
    USB: ti_usb_3410_5052: fix dynamic-id matching
    usb: option: add TP-LINK MA260
    USB: option: add D-Link DWM-152/C1 and DWM-156/C1
    USB: EHCI: Fix resume signalling on remote wakeup
    USB: cp210x: add MMB and PI ZigBee USB Device Support
    usb: cp210x support SEL C662 Vendor/Device
    USB: option: append Petatel NP10T device to GSM modems list
    USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga
    ...

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here are 3 fixes for TTY and serial issues that have been reported.
    Nothing huge, but nice to get fixed"

    * tag 'tty-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    serial: tegra: correct help message in Kconfig from 'ttyHS' to 'ttyTHS'
    tty/8250_early: Don't truncate last character of options
    TTY: snyclinkmp: calculating wrong addresses

    Linus Torvalds
     
  • Pull staging fixes from Greg KH:
    "Here are some tiny drivers/staging/ fixes for 3.11-rc3

    A number of bugfixes, all pretty tiny, but resolve issues that have
    been reported (the kstrtos32 change fixes a data corruption problem
    that Dan found). And a MAINTAINERS file update for the comedi
    drivers"

    * tag 'staging-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    MAINTAINERS: Update the list of maintainers for staging/comedi driver.
    staging: tidspbridge: replace strict_strtol() with kstrtos32()
    staging: android: logger: Correct write offset reset on error
    staging: zram: protect zram_reset_device() call
    staging: gdm72xx: potential use after free in send_qos_list()
    staging: drm/imx: drop "select OF_VIDEOMODE"
    staging: frontier: use after free in disconnect()
    staging: comedi: fix a race between do_cmd_ioctl() and read/write
    staging: comedi: COMEDI_CANCEL ioctl should wake up read/write

    Linus Torvalds
     
  • Pull char/misc patches from Greg KH:
    "Here are some char/misc patches for 3.11-rc3. It's pretty much just:
    - mei fixes
    - hyperv fixes
    - new ja_JP translation update
    all tiny stuff, but fixes for issues people have reported."

    * tag 'char-misc-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    HOWTO ja_JP sync
    mei: me: fix waiting for hw ready
    mei: don't have to clean the state on power up
    mei: me: fix reset state machine
    mei: hbm: fix typo in error message
    Tools: hv: KVP: Fix a bug in IPV6 subnet enumeration
    Drivers: hv: balloon: Do not post pressure status if interrupted
    Drivers: hv: balloon: Fix a bug in the hot-add code
    Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Just a handful of regression and small fixes in ASoC, HD-audio and
    USB-audio drivers.

    - Sigmetal HD-audio codec regression fixes
    - A copule of XRUN indication fixes for usb-audio devices
    - ASoC: ep93xx build fix, sgtl5000 fix for probe order changes,
    max98088 register access fix, etc"

    * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hiface: return correct XRUN indication
    ASoC: tegra: correct playback_dma_data setup
    ASoC: core: double free in snd_soc_add_platform()
    ALSA: usb-audio: 6fire: return correct XRUN indication
    ASoC: ep93xx: fix build of ep93xx-ac97.c
    ALSA: hda - Remove NO_PRESENCE bit override for Dell 1420n Laptop
    ALSA: hda - Fix EAPD GPIO control for Sigmatel codecs
    ASoC: atmel-ssc: remove clk_disable_unprepare call from critical section
    ASoC: sgtl5000: defer the probe if clock is not found
    ASoC: max98088 - fix element type of the register cache.

    Linus Torvalds
     
  • Pull xfs fix from Ben Myers:
    "Fix for regression in commit cca9f93a52d2 ("xfs: don't do IO when
    creating an new inode"), recovery causing filesystem corruption after
    a crash"

    * tag 'for-linus-v3.11-rc3' of git://oss.sgi.com/xfs/xfs:
    xfs: di_flushiter considered harmful

    Linus Torvalds
     
  • Pull nfsd fix from Bruce Fields:
    "One more nfsd bugfix for 3.11"

    * 'for-3.11' of git://linux-nfs.org/~bfields/linux:
    nfsd: nfsd_open: when dentry_open returns an error do not propagate as struct file

    Linus Torvalds
     
  • Pull md fixes from Neil Brown:
    "Two more bugfixes for md in 3.11

    Both marked for -stable, both since 3.3. I guess I should spend more
    time testing..."

    * tag 'md/3.11-fixes' of git://neil.brown.name/md:
    md/raid5: fix interaction of 'replace' and 'recovery'.
    md/raid10: remove use-after-free bug.

    Linus Torvalds
     
  • Pull libata fixes from Tejun Heo:
    "Assorted libata updates.

    The most critical one is a fix for ahci oops during boot. Also, a new
    smallish platform ahci driver is added and sata_inic162x is marked
    clearly as experimental (it whines during boot too) as data corruption
    seems rather common on the device and it's unlikely to get any love in
    the foreseeable future. If the whining doesn't draw any attention, I
    think we'd probably be better of making the driver depend on BROKEN in
    a couple releases"

    This is v2 of this pull request with fixed dependencies for ahci_imx.

    * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci_imx: depend on CONFIG_MFD_SYSCON
    ahci_imx: add ahci sata support on imx platforms
    ARM: imx6q: update the sata bits definitions of gpr13
    ahci: fix Null pointer dereference in achi_host_active()
    libata: make it clear that sata_inic162x is experimental
    libata: replace strict_strtol() with kstrtol()
    ata: Fix DVD not dectected at some platform with Wellsburg PCH

    Linus Torvalds
     

26 Jul, 2013

18 commits

  • We attempted to address a regression introduced by commit a57f7f9
    (ACPICA: Add Windows8/Server2012 string for _OSI method.) after which
    ACPI video backlight support doesn't work on a number of systems,
    because the relevant AML methods in the ACPI tables in their BIOSes
    become useless after the BIOS has been told that the OS is compatible
    with Windows 8. That problem is tracked by the bug entry at:

    https://bugzilla.kernel.org/show_bug.cgi?id=51231

    Commit 8c5bd7a (ACPI / video / i915: No ACPI backlight if firmware
    expects Windows 8) introduced for this purpose essentially prevented
    the ACPI backlight support from being used if the BIOS had been told
    that the OS was compatible with Windows 8 and the i915 driver was
    loaded, in which case the backlight would always be handled by i915.
    Unfortunately, however, that turned out to cause problems with
    backlight to appear on multiple systems with symptoms indicating that
    i915 was unable to control the backlight on those systems as
    expected.

    For this reason, revert commit 8c5bd7a, but leave the function
    acpi_video_backlight_quirks() introduced by it, because another
    commit on top of it uses that function.

    References: https://lkml.org/lkml/2013/7/21/119
    References: https://lkml.org/lkml/2013/7/22/261
    References: https://lkml.org/lkml/2013/7/23/429
    References: https://lkml.org/lkml/2013/7/23/459
    References: https://lkml.org/lkml/2013/7/23/81
    References: https://lkml.org/lkml/2013/7/24/27
    Reported-and-tested-by: James Hogan
    Reported-and-tested-by: Kamal Mostafa
    Reported-and-tested-by: Jörg Otte
    Reported-and-tested-by: Steven Newbury
    Reported-by: Martin Steigerwald
    Reported-by: Kalle Valo
    Tested-by: Joerg Platte
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • ahci_imx makes use of regmap but the dependency wasn't specified in
    Kconfig leading build failures if CONFIG_AHCI_IMX is enabled but
    CONFIG_MFD_SYSCON is not. Add the Kconfig dependency.

    Signed-off-by: Tejun Heo
    Reported-by: Stephen Rothwell

    Tejun Heo
     
  • Commit a82274151af "tracing: Protect ftrace_trace_arrays list in trace_events.c"
    added taking the trace_types_lock mutex in trace_events.c as there were
    several locations that needed it for protection. Unfortunately, it also
    encapsulated a call to tracing_reset_all_online_cpus() which also takes
    the trace_types_lock, causing a deadlock.

    This happens when a module has tracepoints and has been traced. When the
    module is removed, the trace events module notifier will grab the
    trace_types_lock, do a bunch of clean ups, and also clears the buffer
    by calling tracing_reset_all_online_cpus. This doesn't happen often
    which explains why it wasn't caught right away.

    Commit a82274151af was marked for stable, which means this must be
    sent to stable too.

    Link: http://lkml.kernel.org/r/51EEC646.7070306@broadcom.com

    Reported-by: Arend van Spril
    Tested-by: Arend van Spriel
    Cc: Alexander Z Lam
    Cc: Vaibhav Nagarnaik
    Cc: David Sharp
    Cc: stable@vger.kernel.org # 3.10
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     
  • Written by Catalin Marinas, tested by APM on storm platform. This is needed
    because of the failures encountered when running SpecWeb benchmark test.

    Signed-off-by: Feng Kan
    Acked-by: Kumar Sankaran
    Signed-off-by: Catalin Marinas

    Feng Kan
     
  • …rm-intel into drm-fixes

    Brown-paper-bag pull request here. The snb rc6 fix from the last pull
    broke forcewake BIOS dirt cleanup, which with fixed. But that fix broke
    the spinlock init sequence, which results in an ugly BUG when spinlock
    debugging is enabled :( So I get to throw another patch at cc: stable to
    fix up the mess ...

    * tag 'drm-intel-fixes-2013-07-25' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: initialize gt_lock early with other spin locks
    drm/i915: fix hdmi portclock limits

    Dave Airlie
     
  • r600 dpm fixes, old school card dac fixes, lockup fixes
    endian fixes
    * 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon/dpm: fix r600_enable_sclk_control()
    drm/radeon/dpm: implement force performance levels for rv6xx
    drm/radeon/dpm: fix displaygap programming on rv6xx
    drm/radeon/dpm: fix a typo in the rv6xx mclk setup
    drm/radeon: fix combios tables on older cards
    drm/radeon: improve dac adjust heuristics for legacy pdac
    drm/radeon: Another card with wrong primary dac adj
    drm/radeon: fix endian issues with DP handling (v3)
    drm/radeon/vm: only align the pt base to 32k
    drm/radeon: wait for 3D idle before using CP DMA

    Dave Airlie
     
  • Actually program the correct register to enable
    engine clock scaling control.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Allows you to limit the selected power levels via sysfs.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • The device-tree enablement for max8925 has several problems, but besides
    the bindings being wrong (and not having seen review) there's also some
    bad coding practices on how to fill in the platform_data from device tree.

    I came across this since it causes a warning when compiling
    mmp2_defconfig, and instead of doing the minimal fix to silence the
    warning, I restructured the code a bit.

    This silences the warning:
    drivers/video/backlight/max8925_bl.c: In function 'max8925_backlight_probe':
    drivers/video/backlight/max8925_bl.c:177:3: warning: statement with no effect [-Wunused-value]

    Note that the bindings themselves need to be revisited too, but that will
    affect more than just the backlight driver and is best done separately;
    this just fixes the bad code for the backlight driver.

    Acked-by: Jingoo Han
    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Need to use the driver state rather than the register
    state since the displays may not be enabled when the
    power state is programmed.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Need to set high for the last two entries. Looks
    like a copy and paste typo.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Control transfers have both IN and OUT (or SETUP) packets, so when
    clearing TT buffers for a control transfer it's necessary to send
    two HUB_CLEAR_TT_BUFFER requests to the hub.

    Signed-off-by: William Gulland
    Acked-by: Alan Stern
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    William Gulland
     
  • Fix memory leaks introduced in commits:

    40d133d7f542616cf9538508a372306e626a16e9
    usb: gadget: f_ncm: convert to new function interface with backward compatibility

    fee562a6450b7806f1fbbe1469a67b5395b5c10a
    usb: gadget: f_ecm: convert to new function interface with backward compatibility

    fcbdf12ebef73a6069e2a1aada1e546fb578a4aa
    usb: gadget: f_phonet: convert to new function interface with backward compatibility

    b29002a157940752dfed2c488b2011f63f007d71
    usb: gadget: f_eem: convert to new function interface with backward compatibility

    8cedba7c73af1369599b1111639cfeb66fe13aaa
    usb: gadget: f_subset: convert to new function interface with backward compatibility

    f466c6353819326873fa48a02c6f2d7c903240d6
    usb: gadget: f_rndis: convert to new function interface with backward compatibility

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: Greg Kroah-Hartman

    Andrzej Pietrasiewicz
     
  • Allocated urbs and buffers were never freed on errors in open.

    Cc: stable@vger.kernel.org
    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Some (very few) early devices like mine, where not exposting a proper CDC
    descriptor. This was fixed with an immediate firmware update from the vendor,
    and pre-installed on newer devices.
    So actual devices can be driven by cdc_acm.c + cdc_ether.c.

    Signed-off-by: Enrico Mioso
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Enrico Mioso
     
  • Speaks AT on interfaces 5 (command & PPP) and 3 (secondary), other
    interface protocols are unknown.

    Signed-off-by: Dan Williams
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Dan Williams
     
  • Prevent the option driver from binding itself to the QMI/WWAN interface, making
    it unusable by the proper driver.

    Signed-off-by: enrico Mioso
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Enrico Mioso
     
  • …l/git/sarah/xhci into usb-linus

    Sarah writes:

    xhci: Bug fixes, now with more tags!

    Hi Greg,

    Here's five bug fixes for 3.12.

    The three patches are marked for stable. Two fix NULL pointer dereferences.
    The third marked for stable suppresses some serious log spam from unnecessary
    xHCI driver warnings, whenever an isochronous short packet happens on an xHCI
    1.0 host.

    The other two patches fix build warnings.

    Sarah Sharp

    Greg Kroah-Hartman
     

25 Jul, 2013

3 commits

  • When we made all inode updates transactional, we no longer needed
    the log recovery detection for inodes being newer on disk than the
    transaction being replayed - it was redundant as replay of the log
    would always result in the latest version of the inode would be on
    disk. It was redundant, but left in place because it wasn't
    considered to be a problem.

    However, with the new "don't read inodes on create" optimisation,
    flushiter has come back to bite us. Essentially, the optimisation
    made always initialises flushiter to zero in the create transaction,
    and so if we then crash and run recovery and the inode already on
    disk has a non-zero flushiter it will skip recovery of that inode.
    As a result, log recovery does the wrong thing and we end up with a
    corrupt filesystem.

    Because we have to support old kernel to new kernel upgrades, we
    can't just get rid of the flushiter support in log recovery as we
    might be upgrading from a kernel that doesn't have fully transactional
    inode updates. Unfortunately, for v4 superblocks there is no way to
    guarantee that log recovery knows about this fact.

    We cannot add a new inode format flag to say it's a "special inode
    create" because it won't be understood by older kernels and so
    recovery could do the wrong thing on downgrade. We cannot specially
    detect the combination of zero mode/non-zero flushiter on disk to
    non-zero mode, zero flushiter in the log item during recovery
    because wrapping of the flushiter can result in false detection.

    Hence that makes this "don't use flushiter" optimisation limited to
    a disk format that guarantees that we don't need it. And that means
    the only fix here is to limit the "no read IO on create"
    optimisation to version 5 superblocks....

    Reported-by: Markus Trippelsdorf
    Signed-off-by: Dave Chinner
    Reviewed-by: Mark Tinguely
    Signed-off-by: Ben Myers

    (cherry picked from commit e60896d8f2b81412421953e14d3feb14177edb56)

    Dave Chinner
     
  • We forgot to free the node itself when free:ing a map.

    Reported-by: xulinuxkernel
    Reviewed-by: Stephen Warren
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • in some cases where device is attched to xhci port and do not responding,
    for example ath9k_htc with stalled firmware, kernel will
    crash on ring_doorbell_for_active_rings.
    This patch check if pointer exist before it is used.

    This patch should be backported to kernels as old as 2.6.35, that
    contain the commit e9df17eb1408cfafa3d1844bfc7f22c7237b31b8 "USB: xhci:
    Correct assumptions about number of rings per endpoint"

    Signed-off-by: Oleksij Rempel
    Signed-off-by: Sarah Sharp
    Cc: stable@vger.kernel.org

    Oleksij Rempel