20 Nov, 2008

11 commits

  • kunmap() takes as argument the struct page that orginally got kmap()'d,
    however the sg_miter_stop() function passed it the kernel virtual address
    instead, resulting in weird stuff.

    Somehow I ended up fixing this bug by accident while looking for a bug in
    the same area.

    Reported-by: kerneloops.org
    Acked-by: Tejun Heo
    Signed-off-by: Arjan van de Ven
    Cc: Hugh Dickins
    Cc: [2.6.27.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • Restore support for compiling tmiofb with acceleration disabled.

    Signed-off-by: Dmitry Baryshkov
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Baryshkov
     
  • Enable -D DEBUG in the GRU Makefile if CONFIG_SGI_GRU_DEBUG is selected.

    Signed-off-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • There are already various drivers having bigger label than 12 bytes. Most
    of them fit well under 20 bytes but make column width exact so that
    oversized labels don't mess up output alignment.

    Signed-off-by: Jarkko Nikula
    Acked-by: David Brownell
    Cc: [2.6.26.x, 2.6.26.x, 2.6.27.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jarkko Nikula
     
  • Add "min_addr" documentation.
    For "max_addr", add nn before [KMG] since a number is needed and this
    is consistent with other uses of [KMG].

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • This adds the sparc syscall hookups.

    Signed-off-by: David S. Miller
    Cc: Ulrich Drepper
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Miller
     
  • Introduce a new accept4() system call. The addition of this system call
    matches analogous changes in 2.6.27 (dup3(), evenfd2(), signalfd4(),
    inotify_init1(), epoll_create1(), pipe2()) which added new system calls
    that differed from analogous traditional system calls in adding a flags
    argument that can be used to access additional functionality.

    The accept4() system call is exactly the same as accept(), except that
    it adds a flags bit-mask argument. Two flags are initially implemented.
    (Most of the new system calls in 2.6.27 also had both of these flags.)

    SOCK_CLOEXEC causes the close-on-exec (FD_CLOEXEC) flag to be enabled
    for the new file descriptor returned by accept4(). This is a useful
    security feature to avoid leaking information in a multithreaded
    program where one thread is doing an accept() at the same time as
    another thread is doing a fork() plus exec(). More details here:
    http://udrepper.livejournal.com/20407.html "Secure File Descriptor Handling",
    Ulrich Drepper).

    The other flag is SOCK_NONBLOCK, which causes the O_NONBLOCK flag
    to be enabled on the new open file description created by accept4().
    (This flag is merely a convenience, saving the use of additional calls
    fcntl(F_GETFL) and fcntl (F_SETFL) to achieve the same result.

    Here's a test program. Works on x86-32. Should work on x86-64, but
    I (mtk) don't have a system to hand to test with.

    It tests accept4() with each of the four possible combinations of
    SOCK_CLOEXEC and SOCK_NONBLOCK set/clear in 'flags', and verifies
    that the appropriate flags are set on the file descriptor/open file
    description returned by accept4().

    I tested Ulrich's patch in this thread by applying against 2.6.28-rc2,
    and it passes according to my test program.

    /* test_accept4.c

    Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk

    Licensed under the GNU GPLv2 or later.
    */
    #define _GNU_SOURCE
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include

    #define PORT_NUM 33333

    #define die(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)

    /**********************************************************************/

    /* The following is what we need until glibc gets a wrapper for
    accept4() */

    /* Flags for socket(), socketpair(), accept4() */
    #ifndef SOCK_CLOEXEC
    #define SOCK_CLOEXEC O_CLOEXEC
    #endif
    #ifndef SOCK_NONBLOCK
    #define SOCK_NONBLOCK O_NONBLOCK
    #endif

    #ifdef __x86_64__
    #define SYS_accept4 288
    #elif __i386__
    #define USE_SOCKETCALL 1
    #define SYS_ACCEPT4 18
    #else
    #error "Sorry -- don't know the syscall # on this architecture"
    #endif

    static int
    accept4(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
    {
    printf("Calling accept4(): flags = %x", flags);
    if (flags != 0) {
    printf(" (");
    if (flags & SOCK_CLOEXEC)
    printf("SOCK_CLOEXEC");
    if ((flags & SOCK_CLOEXEC) && (flags & SOCK_NONBLOCK))
    printf(" ");
    if (flags & SOCK_NONBLOCK)
    printf("SOCK_NONBLOCK");
    printf(")");
    }
    printf("\n");

    #if USE_SOCKETCALL
    long args[6];

    args[0] = fd;
    args[1] = (long) sockaddr;
    args[2] = (long) addrlen;
    args[3] = flags;

    return syscall(SYS_socketcall, SYS_ACCEPT4, args);
    #else
    return syscall(SYS_accept4, fd, sockaddr, addrlen, flags);
    #endif
    }

    /**********************************************************************/

    static int
    do_test(int lfd, struct sockaddr_in *conn_addr,
    int closeonexec_flag, int nonblock_flag)
    {
    int connfd, acceptfd;
    int fdf, flf, fdf_pass, flf_pass;
    struct sockaddr_in claddr;
    socklen_t addrlen;

    printf("=======================================\n");

    connfd = socket(AF_INET, SOCK_STREAM, 0);
    if (connfd == -1)
    die("socket");
    if (connect(connfd, (struct sockaddr *) conn_addr,
    sizeof(struct sockaddr_in)) == -1)
    die("connect");

    addrlen = sizeof(struct sockaddr_in);
    acceptfd = accept4(lfd, (struct sockaddr *) &claddr, &addrlen,
    closeonexec_flag | nonblock_flag);
    if (acceptfd == -1) {
    perror("accept4()");
    close(connfd);
    return 0;
    }

    fdf = fcntl(acceptfd, F_GETFD);
    if (fdf == -1)
    die("fcntl:F_GETFD");
    fdf_pass = ((fdf & FD_CLOEXEC) != 0) ==
    ((closeonexec_flag & SOCK_CLOEXEC) != 0);
    printf("Close-on-exec flag is %sset (%s); ",
    (fdf & FD_CLOEXEC) ? "" : "not ",
    fdf_pass ? "OK" : "failed");

    flf = fcntl(acceptfd, F_GETFL);
    if (flf == -1)
    die("fcntl:F_GETFD");
    flf_pass = ((flf & O_NONBLOCK) != 0) ==
    ((nonblock_flag & SOCK_NONBLOCK) !=0);
    printf("nonblock flag is %sset (%s)\n",
    (flf & O_NONBLOCK) ? "" : "not ",
    flf_pass ? "OK" : "failed");

    close(acceptfd);
    close(connfd);

    printf("Test result: %s\n", (fdf_pass && flf_pass) ? "PASS" : "FAIL");
    return fdf_pass && flf_pass;
    }

    static int
    create_listening_socket(int port_num)
    {
    struct sockaddr_in svaddr;
    int lfd;
    int optval;

    memset(&svaddr, 0, sizeof(struct sockaddr_in));
    svaddr.sin_family = AF_INET;
    svaddr.sin_addr.s_addr = htonl(INADDR_ANY);
    svaddr.sin_port = htons(port_num);

    lfd = socket(AF_INET, SOCK_STREAM, 0);
    if (lfd == -1)
    die("socket");

    optval = 1;
    if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &optval,
    sizeof(optval)) == -1)
    die("setsockopt");

    if (bind(lfd, (struct sockaddr *) &svaddr,
    sizeof(struct sockaddr_in)) == -1)
    die("bind");

    if (listen(lfd, 5) == -1)
    die("listen");

    return lfd;
    }

    int
    main(int argc, char *argv[])
    {
    struct sockaddr_in conn_addr;
    int lfd;
    int port_num;
    int passed;

    passed = 1;

    port_num = (argc > 1) ? atoi(argv[1]) : PORT_NUM;

    memset(&conn_addr, 0, sizeof(struct sockaddr_in));
    conn_addr.sin_family = AF_INET;
    conn_addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
    conn_addr.sin_port = htons(port_num);

    lfd = create_listening_socket(port_num);

    if (!do_test(lfd, &conn_addr, 0, 0))
    passed = 0;
    if (!do_test(lfd, &conn_addr, SOCK_CLOEXEC, 0))
    passed = 0;
    if (!do_test(lfd, &conn_addr, 0, SOCK_NONBLOCK))
    passed = 0;
    if (!do_test(lfd, &conn_addr, SOCK_CLOEXEC, SOCK_NONBLOCK))
    passed = 0;

    close(lfd);

    exit(passed ? EXIT_SUCCESS : EXIT_FAILURE);
    }

    [mtk.manpages@gmail.com: rewrote changelog, updated test program]
    Signed-off-by: Ulrich Drepper
    Tested-by: Michael Kerrisk
    Acked-by: Michael Kerrisk
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ulrich Drepper
     
  • When booting in a direct color mode, the penguin has dirty feet, i.e.,
    some pixels have the wrong color. This is caused by
    fb_set_logo_directpalette() which does not initialize the last 32 palette
    entries.

    Signed-off-by: Clemens Ladisch
    Acked-by: Geert Uytterhoeven
    Cc: Krzysztof Helt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Clemens Ladisch
     
  • A problem was found while reviewing the code after Bugzilla bug
    http://bugzilla.kernel.org/show_bug.cgi?id=11796.

    In ipc_addid(), the newly allocated ipc structure is inserted into the
    ipcs tree (i.e made visible to readers) without locking it. This is not
    correct since its initialization continues after it has been inserted in
    the tree.

    This patch moves the ipc structure lock initialization + locking before
    the actual insertion.

    Signed-off-by: Nadia Derbey
    Reported-by: Clement Calmels
    Cc: Manfred Spraul
    Cc: [2.6.27.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nadia Derbey
     
  • The error test that follows the call to backlight_device_register semms
    not to concern the right variable.

    A simplified version of the semantic match that finds this problem is
    as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    //
    @def0@
    expression x;
    position p0;
    @@
    x@p0 = backlight_device_register(...)

    @protected@
    expression def0.x,E;
    position def0.p0;
    position p;
    statement S;
    @@
    x@p0
    ... when != x = E
    if (!IS_ERR(x) && ...) {} else S

    @unprotected@
    expression def0.x;
    identifier fld;
    position def0.p0;
    position p != protected.p;
    @@
    x@p0
    ... when != x = E
    * x@p->fld
    //

    Signed-off-by: Julien Brunel
    Signed-off-by: Julia Lawall
    Acked-by: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julien Brunel
     
  • Add temperature sensor support for iMac 6.

    Signed-off-by: Henrik Rydberg
    Tested-by: Caleb Hyde
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Henrik Rydberg
     

19 Nov, 2008

8 commits

  • Signed-off-by: Mike Frysinger
    Signed-off-by: Bryan Wu
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: hold extra reference to bio in blk_rq_map_user_iov()
    relay: fix cpu offline problem
    Release old elevator on change elevator
    block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT=y and nash
    block/md: fix md autodetection
    block: make add_partition() return pointer to hd_struct
    block: fix add_partition() error path

    Linus Torvalds
     
  • By using WARN(), kerneloops.org can collect which component is causing
    the delay and make statistics about that. suspend_test_finish() is
    currently the number 2 item but unless we can collect who's causing
    it we're not going to be able to fix the hot topic ones..

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    kernel/profile.c: fix section mismatch warning
    function tracing: fix wrong pos computing when read buffer has been fulfilled
    tracing: fix mmiotrace resizing crash
    ring-buffer: no preempt for sched_clock()
    ring-buffer: buffer record on/off switch

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    cpuset: fix regression when failed to generate sched domains
    sched, signals: fix the racy usage of ->signal in account_group_xxx/run_posix_cpu_timers
    sched: fix kernel warning on /proc/sched_debug access
    sched: correct sched-rt-group.txt pathname in init/Kconfig

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    swiotlb: use coherent_dma_mask in alloc_coherent
    MAINTAINERS: remove me as RAID maintainer

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
    Blackfin arch: fix a broken define in dma-mapping
    Blackfin arch: fix bug - Turn on DEBUG_DOUBLEFAULT, booting SMP kernel crash
    Blackfin arch: fix bug - shared lib function in L2 failed be called
    Blackfin arch: fix incorrect limit check for bf54x check_gpio
    Blackfin arch: fix bug - Cpufreq assumes clocks in kHz and not Hz.
    Blackfin arch: dont warn when running a kernel on the oldest supported silicon
    Blackfin arch: fix bug - kernel build with write back policy fails to be booted up
    Blackfin arch: fix bug - dmacopy test case fail on all platform
    Blackfin arch: Fix typo when adding CONFIG_DEBUG_VERBOSE
    Blackfin arch: don't copy bss when copying L1
    Blackfin arch: fix bug - Fail to boot jffs2 kernel for BF561 with SMP patch
    Blackfin arch: handle case of d_path() returning error in decode_address()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix resume of GPIO unsol event for STAC/IDT
    ALSA: hda - Add quirks for HP Pavilion DV models
    ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()
    ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()
    ALSA: sound/pci/pcxhr/pcxhr.c: introduce missing kfree and pci_disable_device
    ALSA: hda: STAC_VREF_EVENT value change
    ALSA: hda - Missing NULL check in hda_beep.c
    ALSA: hda - Add digital beep playback switch for STAC/IDT codecs

    Linus Torvalds
     

18 Nov, 2008

21 commits

  • If the size passed in is OK but we end up mapping too many segments,
    we call the unmap path directly like from IO completion. But from IO
    completion we have an extra reference to the bio, so this error case
    goes OOPS when it attempts to free and already free bio.

    Fix it by getting an extra reference to the bio before calling the
    unmap failure case.

    Reported-by: Petr Vandrovec

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • relay_open() will close allocated buffers when failed.
    but if cpu offlined, some buffer will not be closed.
    this patch fixed it.

    and did cleanup for relay_reset() too.

    Signed-off-by: Lai Jiangshan
    Signed-off-by: Jens Axboe

    Lai Jiangshan
     
  • We should release old elevator when change to use a new one.

    Signed-off-by: Zhao Lei
    Signed-off-by: Jens Axboe

    Zhaolei
     
  • We run into system boot failure with kernel 2.6.28-rc. We found it on a
    couple of machines, including T61 notebook, nehalem machine, and another
    HPC NX6325 notebook. All the machines use FedoraCore 8 or FedoraCore 9.
    With kernel prior to 2.6.28-rc, system boot doesn't fail.

    I debug it and locate the root cause. Pls. see
    http://bugzilla.kernel.org/show_bug.cgi?id=11899
    https://bugzilla.redhat.com/show_bug.cgi?id=471517

    As a matter of fact, there are 2 bugs.

    1)root=/dev/sda1, system boot randomly fails. Mostly, boot for 5 times
    and fails once. nash has a bug. Some of its functions misuse return
    value 0. Sometimes, 0 means timeout and no uevent available. Sometimes,
    0 means nash gets an uevent, but the uevent isn't block-related (for
    exmaple, usb). If by coincidence, kernel tells nash that uevents are
    available, but kernel also set timeout, nash might stops collecting
    other uevents in queue if current uevent isn't block-related. I work
    out a patch for nash to fix it.
    http://bugzilla.kernel.org/attachment.cgi?id=18858

    2) root=LABEL=/, system always can't boot. initrd init reports
    switchroot fails. Here is an executation branch of nash when booting:
    (1) nash read /sys/block/sda/dev; Assume major is 8 (on my desktop)
    (2) nash query /proc/devices with the major number; It found line
    "8 sd";
    (3) nash use 'sd' to search its own probe table to find device (DISK)
    type for the device and add it to its own list;
    (4) Later on, it probes all devices in its list to get filesystem
    labels; scsi register "8 sd" always.

    When major is 259, nash fails to find the device(DISK) type. I enables
    CONFIG_DEBUG_BLOCK_EXT_DEVT=y when compiling kernel, so 259 is picked up
    for device /dev/sda1, which causes nash to fail to find device (DISK)
    type.

    To fixing issue 2), I create a patch for nash and another patch for
    kernel.

    http://bugzilla.kernel.org/attachment.cgi?id=18859
    http://bugzilla.kernel.org/attachment.cgi?id=18837

    Below is the patch for kernel 2.6.28-rc4. It registers blkext, a new
    block device in proc/devices.

    With 2 patches on nash and 1 patch on kernel, I boot my machines for
    dozens of times without failure.

    Signed-off-by Zhang Yanmin
    Acked-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Zhang, Yanmin
     
  • Block ext devt conversion missed md_autodetect_dev() call in
    rescan_partitions() leaving md autodetect unable to see partitions.
    Fix it.

    Signed-off-by: Tejun Heo
    Cc: Neil Brown
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • Make add_partition() return pointer to the new hd_struct on success
    and ERR_PTR() value on failure. This change will be used to fix md
    autodetection bug.

    Signed-off-by: Tejun Heo
    Cc: Neil Brown
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • Partition stats structure was not freed on devt allocation failure
    path. Fix it.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • Takashi Iwai
     
  • Use cached write for setting the GPIO unsolicited event mask to be
    restored properly at resume.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Added the quirk entries for HP Pavilion DV5 and DV7 with model=hp-m4.

    Reference: Novell bnc#445321, bnc#445161
    https://bugzilla.novell.com/show_bug.cgi?id=445321
    https://bugzilla.novell.com/show_bug.cgi?id=445161

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • dma_mapping_error is an actual function, so fix broken define with a
    real inline stub

    Signed-off-by: Mike Frysinger
    Signed-off-by: Bryan Wu

    Mike Frysinger
     
  • Signed-off-by: Graf Yang
    Signed-off-by: Bryan Wu

    Graf Yang
     
  • Fixed the GPIO mask and co initialization in patch_stac92hd71bxx()
    so that the gpio_maks for HP_M4 model is set properly.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Impact: fix section mismatch warning in kernel/profile.c

    Here, profile_nop function has been called from a non-init function
    create_hash_tables(void). Which generetes a section mismatch warning.
    Previously, create_hash_tables(void) was a init function. So, removing
    __init from create_hash_tables(void) requires profile_nop to be
    non-init.

    This patch makes profile_nop function inline and fixes the
    following warning:

    WARNING: vmlinux.o(.text+0x6ebb6): Section mismatch in reference from
    the function create_hash_tables() to the function
    .init.text:profile_nop()
    The function create_hash_tables() references
    the function __init profile_nop().
    This is often because create_hash_tables lacks a __init
    annotation or the annotation of profile_nop is wrong.

    Signed-off-by: Rakib Mullick
    Signed-off-by: Ingo Molnar

    Rakib Mullick
     
  • Impact: properly rebuild sched-domains on kmalloc() failure

    When cpuset failed to generate sched domains due to kmalloc()
    failure, the scheduler should fallback to the single partition
    'fallback_doms' and rebuild sched domains, but now it only
    destroys but not rebuilds sched domains.

    The regression was introduced by:

    | commit dfb512ec4834116124da61d6c1ee10fd0aa32bd6
    | Author: Max Krasnyansky
    | Date: Fri Aug 29 13:11:41 2008 -0700
    |
    | sched: arch_reinit_sched_domains() must destroy domains to force rebuild

    After the above commit, partition_sched_domains(0, NULL, NULL) will
    only destroy sched domains and partition_sched_domains(1, NULL, NULL)
    will create the default sched domain.

    Signed-off-by: Li Zefan
    Cc: Max Krasnyansky
    Cc:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    prevent cifs_writepages() from skipping unwritten pages
    Fixed parsing of mount options when doing DFS submount
    [CIFS] Fix check for tcon seal setting and fix oops on failed mount from earlier patch
    [CIFS] Fix build break
    cifs: reinstate sharing of tree connections
    [CIFS] minor cleanup to cifs_mount
    cifs: reinstate sharing of SMB sessions sans races
    cifs: disable sharing session and tcon and add new TCP sharing code
    [CIFS] clean up server protocol handling
    [CIFS] remove unused list, add new cifs sock list to prepare for mount/umount fix
    [CIFS] Fix cifs reconnection flags
    [CIFS] Can't rely on iov length and base when kernel_recvmsg returns error

    Linus Torvalds
     
  • Fixes a data corruption under heavy stress in which pages could be left
    dirty after all open instances of a inode have been closed.

    In order to write contiguous pages whenever possible, cifs_writepages()
    asks pagevec_lookup_tag() for more pages than it may write at one time.
    Normally, it then resets index just past the last page written before calling
    pagevec_lookup_tag() again.

    If cifs_writepages() can't write the first page returned, it wasn't resetting
    index, and the next call to pagevec_lookup_tag() resulted in skipping all of
    the pages it previously returned, even though cifs_writepages() did nothing
    with them. This can result in data loss when the file descriptor is about
    to be closed.

    This patch ensures that index gets set back to the next returned page so
    that none get skipped.

    Signed-off-by: Dave Kleikamp
    Acked-by: Jeff Layton
    Cc: Shirish S Pargaonkar
    Signed-off-by: Steve French

    Dave Kleikamp
     
  • Since these hit the same routines, and are relatively small, it is easier to review
    them as one patch.

    Fixed incorrect handling of the last option in some cases
    Fixed prefixpath handling convert path_consumed into host depended string length (in bytes)
    Use non default separator if it is provided in the original mount options

    Acked-by: Jeff Layton
    Signed-off-by: Igor Mammedov
    Signed-off-by: Steve French

    Igor Mammedov
     
  • For some unknown reason at Steven Rostedt added in disabling of the SPE
    instruction generation for e500 based PPC cores in commit
    6ec562328fda585be2d7f472cfac99d3b44d362a.

    We are removing it because:

    1. It generates e500 kernels that don't work
    2. its not the correct set of flags to do this
    3. we handle this in the arch/powerpc/Makefile already
    4. its unknown in talking to Steven why he did this

    Signed-off-by: Kumar Gala
    Tested-and-Acked-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • * 'for-linus' of git://git.o-hand.com/linux-mfd:
    mfd: Correct WM8350 I2C return code usage
    mfd: fix event masking for da9030

    Linus Torvalds
     
  • set tcon->ses earlier

    If the inital tree connect fails, we'll end up calling cifs_put_smb_ses
    with a NULL pointer. Fix it by setting the tcon->ses earlier.

    Acked-by: Jeff Layton
    Signed-off-by: Steve French

    Steve French