30 Apr, 2012

7 commits

  • Linus Torvalds
     
  • Pull power management fixes from Rafael J. Wysocki:
    "Fix for an issue causing hibernation to hang on systems with highmem
    (that practically means i386) due to broken memory management (bug
    introduced in 3.2, so -stable material) and PM documentation update
    making the freezer documentation follow the code again after some
    recent updates."

    * tag 'pm-for-3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / Freezer / Docs: Update documentation about freezing of tasks
    PM / Hibernate: fix the number of pages used for hibernate/thaw buffering

    Linus Torvalds
     
  • The autofs packet size has had a very unfortunate size problem on x86:
    because the alignment of 'u64' differs in 32-bit and 64-bit modes, and
    because the packet data was not 8-byte aligned, the size of the autofsv5
    packet structure differed between 32-bit and 64-bit modes despite
    looking otherwise identical (300 vs 304 bytes respectively).

    We first fixed that up by making the 64-bit compat mode know about this
    problem in commit a32744d4abae ("autofs: work around unhappy compat
    problem on x86-64"), and that made a 32-bit 'systemd' work happily on a
    64-bit kernel because everything then worked the same way as on a 32-bit
    kernel.

    But it turned out that 'automount' had actually known and worked around
    this problem in user space, so fixing the kernel to do the proper 32-bit
    compatibility handling actually *broke* 32-bit automount on a 64-bit
    kernel, because it knew that the packet sizes were wrong and expected
    those incorrect sizes.

    As a result, we ended up reverting that compatibility mode fix, and
    thus breaking systemd again, in commit fcbf94b9dedd.

    With both automount and systemd doing a single read() system call, and
    verifying that they get *exactly* the size they expect but using
    different sizes, it seemed that fixing one of them inevitably seemed to
    break the other. At one point, a patch I seriously considered applying
    from Michael Tokarev did a "strcmp()" to see if it was automount that
    was doing the operation. Ugly, ugly.

    However, a prettier solution exists now thanks to the packetized pipe
    mode. By marking the communication pipe as being packetized (by simply
    setting the O_DIRECT flag), we can always just write the bigger packet
    size, and if user-space does a smaller read, it will just get that
    partial end result and the extra alignment padding will simply be thrown
    away.

    This makes both automount and systemd happy, since they now get the size
    they asked for, and the kernel side of autofs simply no longer needs to
    care - it could pad out the packet arbitrarily.

    Of course, if there is some *other* user of autofs (please, please,
    please tell me it ain't so - and we haven't heard of any) that tries to
    read the packets with multiple writes, that other user will now be
    broken - the whole point of the packetized mode is that one system call
    gets exactly one packet, and you cannot read a packet in pieces.

    Tested-by: Michael Tokarev
    Cc: Alan Cox
    Cc: David Miller
    Cc: Ian Kent
    Cc: Thomas Meyer
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • The file Documentation/power/freezing-of-tasks.txt was still referencing
    the TIF_FREEZE flag, that was removed by the commit
    d88e4cb67197d007fb778d62fe17360e970d5bfa(freezer: remove now unused
    TIF_FREEZE).

    This patch removes all the references of TIF_FREEZE that were left
    behind.

    Signed-off-by: Marcos Paulo de Souza
    Signed-off-by: Srivatsa S. Bhat
    Signed-off-by: Rafael J. Wysocki

    Marcos Paulo de Souza
     
  • The actual internal pipe implementation is already really about
    individual packets (called "pipe buffers"), and this simply exposes that
    as a special packetized mode.

    When we are in the packetized mode (marked by O_DIRECT as suggested by
    Alan Cox), a write() on a pipe will not merge the new data with previous
    writes, so each write will get a pipe buffer of its own. The pipe
    buffer is then marked with the PIPE_BUF_FLAG_PACKET flag, which in turn
    will tell the reader side to break the read at that boundary (and throw
    away any partial packet contents that do not fit in the read buffer).

    End result: as long as you do writes less than PIPE_BUF in size (so that
    the pipe doesn't have to split them up), you can now treat the pipe as a
    packet interface, where each read() system call will read one packet at
    a time. You can just use a sufficiently big read buffer (PIPE_BUF is
    sufficient, since bigger than that doesn't guarantee atomicity anyway),
    and the return value of the read() will naturally give you the size of
    the packet.

    NOTE! We do not support zero-sized packets, and zero-sized reads and
    writes to a pipe continue to be no-ops. Also note that big packets will
    currently be split at write time, but that the size at which that
    happens is not really specified (except that it's bigger than PIPE_BUF).
    Currently that limit is the system page size, but we might want to
    explicitly support bigger packets some day.

    The main user for this is going to be the autofs packet interface,
    allowing us to stop having to care so deeply about exact packet sizes
    (which have had bugs with 32/64-bit compatibility modes). But user
    space can create packetized pipes with "pipe2(fd, O_DIRECT)", which will
    fail with an EINVAL on kernels that do not support this interface.

    Tested-by: Michael Tokarev
    Cc: Alan Cox
    Cc: David Miller
    Cc: Ian Kent
    Cc: Thomas Meyer
    Cc: stable@kernel.org # needed for systemd/autofs interaction fix
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull staging tree fixes from Greg Kroah-Hartman:
    "Here are some tiny drivers/staging/ bugfixes. Some build fixes that
    were recently reported, as well as one kfree bug that is hitting a
    number of users."

    * tag 'staging-3.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: ozwpan: Fix bug where kfree is called twice.
    staging: octeon-ethernet: fix build errors by including interrupt.h
    staging: zcache: fix Kconfig crypto dependency
    staging: tidspbridge: remove usage of OMAP2_L4_IO_ADDRESS

    Linus Torvalds
     
  • Pull USB fixes from Greg Kroah-Hartman:
    "Here are a number of small USB fixes for 3.4-rc5.

    Nothing major, as before, some USB gadget fixes. There's a crash fix
    for a number of ASUS laptops on resume that had been reported by a
    number of different people. We think the fix might also pertain to
    other machines, as this was a BIOS bug, and they seem to travel to
    different models and manufacturers quite easily. Other than that,
    some other reported problems fixed as well."

    * tag 'usb-3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usb: gadget: udc-core: fix incompatibility with dummy-hcd
    usb: gadget: udc-core: fix wrong call order
    USB: cdc-wdm: fix race leading leading to memory corruption
    USB: EHCI: fix crash during suspend on ASUS computers
    usb gadget: uvc: uvc_request_data::length field must be signed
    usb: gadget: dummy: do not call pullup() on udc_stop()
    usb: musb: davinci.c: add missing unregister
    usb: musb: drop __deprecated flag
    USB: gadget: storage gadgets send wrong error code for unknown commands
    usb: otg: gpio_vbus: Add otg transceiver events and notifiers

    Linus Torvalds
     

29 Apr, 2012

3 commits

  • Pull btrfs fixes from Chris Mason:
    "This has our collection of bug fixes. I missed the last rc because I
    thought our patches were making NFS crash during my xfs test runs.
    Turns out it was an NFS client bug fixed by someone else while I tried
    to bisect it.

    All of these fixes are small, but some are fairly high impact. The
    biggest are fixes for our mount -o remount handling, a deadlock due to
    GFP_KERNEL allocations in readdir, and a RAID10 error handling bug.

    This was tested against both 3.3 and Linus' master as of this morning."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (26 commits)
    Btrfs: reduce lock contention during extent insertion
    Btrfs: avoid deadlocks from GFP_KERNEL allocations during btrfs_real_readdir
    Btrfs: Fix space checking during fs resize
    Btrfs: fix block_rsv and space_info lock ordering
    Btrfs: Prevent root_list corruption
    Btrfs: fix repair code for RAID10
    Btrfs: do not start delalloc inodes during sync
    Btrfs: fix that check_int_data mount option was ignored
    Btrfs: don't count CRC or header errors twice while scrubbing
    Btrfs: fix btrfs_ioctl_dev_info() crash on missing device
    btrfs: don't return EINTR
    Btrfs: double unlock bug in error handling
    Btrfs: always store the mirror we read the eb from
    fs/btrfs/volumes.c: add missing free_fs_devices
    btrfs: fix early abort in 'remount'
    Btrfs: fix max chunk size check in chunk allocator
    Btrfs: add missing read locks in backref.c
    Btrfs: don't call free_extent_buffer twice in iterate_irefs
    Btrfs: Make free_ipath() deal gracefully with NULL pointers
    Btrfs: avoid possible use-after-free in clear_extent_bit()
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Nothing controversial, just another batch of fixes:

    - Samsung/exynos fixes for more merge window fallout: build errors
    and warnings mostly, but also some clock/device setup issues on
    exynos4/5
    - PXA bug and warning fixes related to gpio and pinmux
    - IRQ domain conversion bugfixes for U300 and MSM
    - A regulator setup fix for U300"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: PXA2xx: MFP: fix potential direction bug
    ARM: PXA2xx: MFP: fix bug with MFP_LPM_KEEP_OUTPUT
    arm/sa1100: fix sa1100-rtc memory resource
    ARM: pxa: fix gpio wakeup setting
    ARM: SAMSUNG: add missing MMC_CAP2_BROKEN_VOLTAGE capability
    ARM: EXYNOS: Fix compilation error when CONFIG_OF is not defined
    ARM: EXYNOS: Fix resource on dev-dwmci.c
    ARM: S3C24XX: Fix build warning for S3C2410_PM
    ARM: mini2440_defconfig: Fix build error
    ARM: msm: Fix gic irqdomain support
    ARM: EXYNOS: Fix incorrect initialization of GIC
    ARM: EXYNOS: use 'exynos4-sdhci' as device name for sdhci controllers
    ARM: u300: bump all IRQ numbers by one
    ARM: ux300: Fix unimplementable regulation constraints

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "As soon as I sent the non-urgent stack, two important fixes come in:

    - i915: fixes SNB GPU hangs in a number of 3D apps

    - radeon: initial fix for VGA on LLano system, 3 or 4 of us have
    spent time debugging this, and Jerome finally figured out the magic
    bit the BIOS/fglrx set that we didn't. This at least should get
    things working, there may be future reliability fixes."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/i915: Set the Stencil Cache eviction policy to non-LRA mode.
    drm/radeon/kms: need to set up ss on DP bridges as well

    Linus Torvalds
     

28 Apr, 2012

30 commits

  • This reverts commit a32744d4abae24572eff7269bc17895c41bd0085.

    While that commit was technically the right thing to do, and made the
    x86-64 compat mode work identically to native 32-bit mode (and thus
    fixing the problem with a 32-bit systemd install on a 64-bit kernel), it
    turns out that the automount binaries had workarounds for this compat
    problem.

    Now, the workarounds are disgusting: doing an "uname()" to find out the
    architecture of the kernel, and then comparing it for the 64-bit cases
    and fixing up the size of the read() in automount for those. And they
    were confused: it's not actually a generic 64-bit issue at all, it's
    very much tied to just x86-64, which has different alignment for an
    'u64' in 64-bit mode than in 32-bit mode.

    But the end result is that fixing the compat layer actually breaks the
    case of a 32-bit automount on a x86-64 kernel.

    There are various approaches to fix this (including just doing a
    "strcmp()" on current->comm and comparing it to "automount"), but I
    think that I will do the one that teaches pipes about a special "packet
    mode", which will allow user space to not have to care too deeply about
    the padding at the end of the autofs packet.

    That change will make the compat workaround unnecessary, so let's revert
    it first, and get automount working again in compat mode. The
    packetized pipes will then fix autofs for systemd.

    Reported-and-requested-by: Michael Tokarev
    Cc: Ian Kent
    Cc: stable@kernel.org # for 3.3
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Clearing bit 5 of CACHE_MODE_0 is necessary to prevent GPU hangs in
    OpenGL programs such as Google MapsGL, Google Earth, and gzdoom when
    using separate stencil buffers. Without it, the GPU tries to use the
    LRA eviction policy, which isn't supported. This was supposed to be off
    by default, but seems to be on for many machines.

    This cannot be done in gen6_init_clock_gating with most of the other
    workaround bits; the render ring needs to exist. Otherwise, the
    register write gets dropped on the floor (one printk will show it
    changed, but a second printk immediately following shows the value
    reverts to the old one).

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47535
    Cc: stable@vger.kernel.org
    Cc: Rob Castle
    Cc: Eric Appleman
    Cc: aaron667@gmx.net
    Cc: Keith Packard
    Signed-off-by: Kenneth Graunke
    Reviewed-by: Daniel Vetter
    Acked-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Kenneth Graunke
     
  • Makes Nutmeg DP to VGA bridges work for me.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=42490

    Noticed by Jerome Glisse (after weeks of debugging).

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Pull CIFS fixes from Steve French.

    * git://git.samba.org/sfrench/cifs-2.6:
    Use correct conversion specifiers in cifs_show_options
    CIFS: Show backupuid/gid in /proc/mounts
    cifs: fix offset handling in cifs_iovec_write

    Linus Torvalds
     
  • Pull Xen fixes from Konrad Rzeszutek Wilk:
    "Some of these had been in existence since the 2.6.27 days, some since
    3.0 - and some due to new features added in v3.4.

    The one that is most interesting is David's one - in the low-level
    assembler code we had be checking events needlessly. With his patch
    now we do it when the appropriate flag is set - with the added benefit
    that we can process events faster. Stefano's is fixing a mistake
    where the Linux IRQ numbers were ACK-ed instead of the Xen IRQ,
    resulting in missing interrupts. The other ones are bootup related
    that can show up on various hardware."

    - In the low-level assembler code we would jump to check events even if
    none were present. This incorrect behavior had been there since
    2.6.27 days!
    - When using the fast-path for ACK-ing interrupts we were using the
    Linux IRQ numbers instead of the Xen ones (and they can differ) and
    missing interrupts in process.
    - Fix bootup crashes when ACPI hotplug CPUs were present and they would
    expand past the set number of CPUs we were allocated.
    - Deal with broken BIOSes when uploading C-states to the hypervisor.
    - Disable the cpuid check for MWAIT_LEAF if the ACPI PAD driver is
    loaded. If the ACPI PAD driver is used it will crash, so lets not
    export the functionality so the ACPI PAD driver won't load.

    * tag 'stable/for-linus-3.4-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: correctly check for pending events when restoring irq flags
    xen/acpi: Workaround broken BIOSes exporting non-existing C-states.
    xen/smp: Fix crash when booting with ACPI hotplug CPUs.
    xen: use the pirq number to check the pirq_eoi_map
    xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.

    Linus Torvalds
     
  • Pull misc SPI device driver bug fixes from Grant Likely.

    * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    spi/spi-bfin5xx: Fix flush of last bit after each spi transfer
    spi/spi-bfin5xx: fix reversed if condition in interrupt mode
    spi/spi_bfin_sport: drop bits_per_word from client data
    spi/bfin_spi: drop bits_per_word from client data
    spi/spi-bfin-sport: move word length setup to transfer handler
    spi/bfin5xx: rename config macro name for bfin5xx spi controller driver
    spi/pl022: Allow request for higher frequency than maximum possible
    spi/bcm63xx: set master driver mode_bits.
    spi/bcm63xx: don't use the stopping state
    spi/bcm63xx: convert to the pump message infrastructure
    spi/spi-ep93xx.c: use dma_transfer_direction instead of dma_data_direction
    spi: fix spi.h kernel-doc warning
    spi/pl022: Fix calculate_effective_freq()
    spi/pl022: Fix range checking for bits per word

    Linus Torvalds
     
  • Pull hwmon patches from Guenter Roeck:
    - Fix build warning in ad7314 driver
    - Fix pci_device_id array access in fam15h_power driver, introduced by
    commit 00250ec90963 ("hwmon: fam15h_power: fix bogus values with
    current BIOSes")

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (fam15h_power) Fix pci_device_id array
    hwmon: (ad7314) Fix build warning

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "For your Friday pull request stack, nothing astounding or shattering
    this week some exynos, some intel, some radeon fixes. One intel fix
    for a regression somwehere back in 2.6.35 land."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms: use frac fb div on APUs
    drm/radeon: add a missing entry to encoder_names
    drm/i915: handle input/output sdvo timings separately in mode_set
    drm/i915: fix integer overflow in i915_gem_do_execbuffer()
    drm/i915: fix integer overflow in i915_gem_execbuffer2()
    drm/exynos: added missed vm area region mapping type.
    drm/exynos: fixed exynos_drm_gem_map_pages bug.
    drm/exynos: fixed duplicatd memory allocation bug.
    drm/i915: fixup load-detect on enabled, but not active pipe

    Linus Torvalds
     
  • Pull RCU fix from Ingo Molnar.

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    rcu: Permit call_rcu() from CPU_DYING notifiers

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic: Use x2apic physical mode based on FADT setting
    x86/mrst: Quiet sparse noise about plain integer as NULL pointer
    x86, intel_cacheinfo: Fix error return code in amd_set_l3_disable_slot()

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar.

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Fix OOPS when build_sched_domains() percpu allocation fails
    sched: Fix more load-balancing fallout

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar.

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: Fix perf_event_for_each() to use sibling
    perf symbols: Read plt symbols from proper symtab_type binary
    tracing: Fix stacktrace of latency tracers (irqsoff and friends)
    perf tools: Add 'G' and 'H' modifiers to event parsing
    tracing: Fix regression with tracing_on
    perf tools: Drop CROSS_COMPILE from flex and bison calls
    perf report: Fix crash showing warning related to kernel maps
    tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)

    Linus Torvalds
     
  • Pull build fixes for less mainstream architectures from Paul Gortmaker:
    "These are fixes for frv(1), blackfin(2), powerpc(1) and xtensa(4).

    Fortunately the touches are nearly all specific to files just used by
    the arch in question. The two touches to shared/common files
    [kernel/irq/debug.h and drivers/pci/Makefile] are trivial to assess as
    no risk to anyone.

    Half of them relate to xtensa directly. It was only when I fixed the
    last xtensa issue that I realized that the arch has been broken for a
    significant time, and isn't a specific v3.4 regression. So if you
    wanted, we could leave xtensa lying bleeding in the street for a
    couple more weeks and queue those for 3.5. But given they are no risk
    to anyone outside of xtensa, I figured to just leave them in.

    If you are OK with taking the xtensa fixes, then please pull to get:

    - one last implicit include uncovered by system.h that is in a file
    specific to just one powerpc defconfig. (I'd sync'd with BenH).

    - fix an oversight in the PCI makefile where shared code wasn't being
    compiled for ARCH=frv

    - fix a missing include for GPIO in blackfin framebuffer.

    - audit and tag endif in blackfin ezkit board file, in order to find
    and fix the misplaced endif masking a block of code.

    - fix irq/debug.h choice of temporary macro names to be more internal
    so they don't conflict with names used by xtensa.

    - fix a reference to an undeclared local var in xtensa's signal.c

    - fix an implicit bug.h usage in xtensa's asm/io.h uncovered by my
    removing bug.h from kernel.h

    - fix xtensa to properly indicate it is using asm-generic/hardirq.h
    in order to resolve the link error - undefined ack_bad_irq

    The xtensa still fails final link as my latest binutils does something
    evil when ld forward-relocates unlikely() blocks, but in theory people
    who have older/valid toolchains could now use the thing."

    * 'for-v3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    xtensa: fix build fail on undefined ack_bad_irq
    blackfin: fix ifdef fustercluck in mach-bf538/boards/ezkit.c
    blackfin: fix compile error in bfin-lq035q1-fb.c
    pci: frv architecture needs generic setup-bus infrastructure
    irq: hide debug macros so they don't collide with others.
    xtensa: fix build error in xtensa/include/asm/io.h
    xtensa: fix build failure in xtensa/kernel/signal.c
    powerpc: fix system.h fallout in sysdev/scom.c [chroma_defconfig]

    Linus Torvalds
     
  • Pull SuperH fixes from Paul Mundt.

    * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
    sh: Fix up tracepoint build fallout from static key introduction.
    sh: Fix error synchronising kernel page tables

    Linus Torvalds
     
  • Pull security key doc update from Jeff Layton:
    "Ordinarily, I send my patches through others' trees, but David
    suggested I just send this one to you directly since it's just a
    Documentation/ update"

    * 'docs-3.4' of git://git.samba.org/jlayton/linux:
    keys: update the documentation with info about "logon" keys

    Linus Torvalds
     
  • In xen_restore_fl_direct(), xen_force_evtchn_callback() was being
    called even if no events were pending. This resulted in (depending on
    workload) about a 100 times as many xen_version hypercalls as
    necessary.

    Fix this by correcting the sense of the conditional jump.

    This seems to give a significant performance benefit for some
    workloads.

    There is some subtle tricksy "..since the check here is trying to
    check both pending and masked in a single cmpw, but I think this is
    correct. It will call check_events now only when the combined
    mask+pending word is 0x0001 (aka unmasked, pending)." (Ian)

    CC: stable@kernel.org
    Acked-by: Ian Campbell
    Signed-off-by: David Vrabel
    Signed-off-by: Konrad Rzeszutek Wilk

    David Vrabel
     
  • We're spending huge amounts of time on lock contention during
    end_io processing because we unconditionally assume we are overwriting
    an existing extent in the file for each IO.

    This checks to see if we are outside i_size, and if so, it uses a
    less expensive readonly search of the btree to look for existing
    extents.

    Signed-off-by: Chris Mason

    Chris Mason
     
  • Btrfs has an optimization where it will preallocate dentries during
    readdir to fill in enough information to open the inode without an extra
    lookup.

    But, we're calling d_alloc, which is doing GFP_KERNEL allocations, and
    that leads to deadlocks because our readdir code has tree locks held.

    For now, disable this optimization. We'll fix the gfp mask in the next
    merge window.

    Signed-off-by: Chris Mason

    Chris Mason
     
  • This patch ensures that the last bit of a transfer gets correctly
    flushed out of the register.

    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • This condition is used to determine 8 bits or 16 and 32 bits transfer.
    Obviously it is reversed.

    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • Since the member was dropped from the common Blackfin header, we need
    to stop using it in the SPORT driver too.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • No other SPI controller has this field, and SPI clients should be setting
    this up in their own drivers. So drop it from the Blackfin controller to
    keep people from using it.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • Each transfer may have its own bits per word.

    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • This controller is only for blackfin 5xx soc, so rename it to BFIN5XX

    Signed-off-by: Scott Jiang
    Signed-off-by: Grant Likely

    Scott Jiang
     
  • Currently, if we request for frequency greater than maximum possible, spi driver
    returns error.

    For example, if the spi block src frequency is 333/4 MHz, i.e. 83.33.. MHz,
    maximum frequency programmable would be src/2. Which would come around 41.6...

    It is difficult to pass frequency in these figures. We normally try to program
    in round figures, like 42 MHz and it should get programmed to
    Signed-off-by: Viresh Kumar
    Acked-by: Linus Walleij
    Signed-off-by: Grant Likely

    Viresh Kumar
     
  • Fix out-of-space checking, addressing a warning and potential resource
    leak when resizing the filesystem down while allocating blocks.

    Signed-off-by: Daniel J Blueman
    Reviewed-by: Josef Bacik
    Signed-off-by: Chris Mason

    Daniel J Blueman
     
  • may_commit_transaction() calls
    spin_lock(&space_info->lock);
    spin_lock(&delayed_rsv->lock);
    and update_global_block_rsv() calls
    spin_lock(&block_rsv->lock);
    spin_lock(&sinfo->lock);

    Lockdep complains about this at run time.
    Everywhere except in update_global_block_rsv(), the space_info lock is
    the outer lock, therefore the locking order in update_global_block_rsv()
    is changed.

    Signed-off-by: Stefan Behrens
    Signed-off-by: Chris Mason

    Stefan Behrens
     
  • I was seeing root_list corruption on unmount during fs resize in 3.4-rc4; add
    correct locking to address this.

    Signed-off-by: Daniel J Blueman
    Signed-off-by: Chris Mason

    Daniel J Blueman
     
  • btrfs_map_block sets mirror_num, so that the repair code knows eventually
    which device gave us the read error. For RAID10, mirror_num must be 1 or 2.
    Before this fix mirror_num was incorrectly related to our stripe index.

    Signed-off-by: Jan Schmidt
    Signed-off-by: Chris Mason

    Jan Schmidt
     
  • btrfs_start_delalloc_inodes will just walk the list of delalloc inodes and
    start writing them out, but it doesn't splice the list or anything so as
    long as somebody is doing work on the box you could end up in this section
    _forever_. So just remove it, it's not needed anyway since sync will start
    writeback on all inodes anyway, all we need to do is wait for ordered
    extents and then we can commit the transaction. In my horrible torture test
    sync goes from taking 4 minutes to about 1.5 minutes. Thanks,

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik