13 Feb, 2007

40 commits

  • This patch adds the line discipline based driver for the Gigaset M101
    wireless RS232 adapter. It also improves the documentation a bit.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Hansjoerg Lipp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • Convert:
    BOOL -> bool
    FALSE -> false
    TRUE -> true

    Change a variable ('mContinue') to boolean from char, since it is used
    as boolean.

    Signed-off-by: Richard Knutsson
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Knutsson
     
  • - Use timer macros to set function and data members and to modify
    expiration time.
    - Use DEFINE_TIMER for global timers and do not init them at run-time in
    these cases.
    - del_timer_sync is common in most cases -- we want to wait for timer
    function if it's still running.

    Signed-off-by: Jiri Slaby
    Cc: Dave Airlie
    Cc: David Woodhouse
    Cc: Dominik Brodowski
    Cc: Alessandro Zummo
    Cc: Paul Fulghum
    Cc: Kylene Jo Hall
    Cc: Wim Van Sebroeck
    Acked-by: Dmitry Torokhov (Input bits)
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • specialix, isr have 2 params

    pt_regs are no longer the third parameter of isr, call sx_interrupt without
    it.

    Signed-off-by: Jiri Slaby
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Change __init to __devinit in rtc drivers' probe functions.

    Resolves MODPOST warnings:

    WARNING: drivers/rtc/rtc-ds1553.o - Section mismatch: reference to
    .init.text:ds1553_rtc_probe from .data.rel between 'ds1553_rtc_driver' (at
    offset 0x0) and 'ds1553_nvram_attr'
    WARNING: drivers/rtc/rtc-ds1742.o - Section mismatch: reference to
    .init.text:ds1742_rtc_probe from .data.rel between 'ds1742_rtc_driver' (at
    offset 0x0) and 'ds1742_nvram_attr'

    Signed-off-by: Prarit Bhargava
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prarit Bhargava
     
  • Was ufs_fs.h purposefully not exported to userspace or did it just slip
    through the cracks ? assuming the latter scenario, the attached patch touches
    up the relationship between ufs_fs.h and its sub headers (like ufs_fs_sb.h) so
    that we can export it ... the silo bootloader takes advantage of this header
    for example.

    Signed-off-by: Mike Frysinger
    Cc: Evgeniy Dushistov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • close_files() can sometimes take long enough to trigger the soft lockup
    detector.

    Cc: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Reduce the number of kernel messages the Gigaset drivers produce in case of an
    excessively long device response, from one per character exceeding the limit
    to one per overlong message.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • Do not lock the cardstate structure mutex earlier than necessary.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • oprofile hunting showed a stall in rw_verify_area(), because of triple
    indirection and potential cache misses.
    (file->f_path.dentry->d_inode->i_flock)

    By moving initialization of 'struct inode' pointer before the pos/count
    sanity tests, we allow the compiler and processor to perform two loads by
    anticipation, reducing stall, without prefetch() hints. Even x86 arch has
    enough registers to not use temporary variables and not increase text size.

    I validated this patch running a bench and studied oprofile changes, and
    absolute perf of the test program.

    Results of my epoll_pipe_bench (source available on request) on a Pentium-M
    1.6 GHz machine

    Before :
    # ./epoll_pipe_bench -l 30 -t 20
    Avg: 436089 evts/sec read_count=8843037 write_count=8843040 21.218390 samples
    per call
    (best value out of 10 runs)

    After :
    # ./epoll_pipe_bench -l 30 -t 20
    Avg: 470980 evts/sec read_count=9549871 write_count=9549894 21.216694 samples
    per call
    (best value out of 10 runs)

    oprofile CPU_CLK_UNHALTED events gave a reduction from 5.3401 % to 2.5851 %
    for the rw_verify_area() function.

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • Need to export com20020 symbols for com20020_cs also.

    WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
    WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: Esben Nielsen
    Cc: Jeff Garzik
    Cc: Dominik Brodowski
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • 3117df0453828bd045c16244e6f50e5714667a8a causes this:

    In file included from arch/s390/kernel/early.c:13:
    include/linux/lockdep.h:300: warning:
    "struct task_struct" declared inside parameter list
    include/linux/lockdep.h:300:
    warning: its scope is only this definition or
    declaration, which is probably not what you want

    Acked-by: Ingo Molnar
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • I've noticed that the boot options are not correct for in the documentation
    for kdump. The "init" keyword is not necessary, and causes a kernel panic
    when booting with an initrd on Fedora 5.

    [horms@verge.net.au: put original comment with the latest version of the patch]
    Signed-off-by: Judith Lebzeelter
    Acked-by: Vivek Goyal
    Signed-off-by: Simon Horman
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horms
     
  • Optimise swiotlb.c for size.

    text data bss dec hex filename
    5009 89 64 5162 142a lib/swiotlb.o-before
    4666 89 64 4819 12d3 lib/swiotlb.o-after

    For some reason my gcc (4.0.2) doesn't want to tailcall these things.

    swiotlb_sync_sg_for_device:
    pushq %rbp #
    movl $1, %r8d #,
    movq %rsp, %rbp #,
    call swiotlb_sync_sg #
    leave
    ret
    .size swiotlb_sync_sg_for_device, .-swiotlb_sync_sg_for_device
    .section .text.swiotlb_sync_sg_for_cpu,"ax",@progbits
    .globl swiotlb_sync_sg_for_cpu
    .type swiotlb_sync_sg_for_cpu, @function
    swiotlb_sync_sg_for_cpu:
    pushq %rbp #
    xorl %r8d, %r8d #
    movq %rsp, %rbp #,
    call swiotlb_sync_sg #
    leave
    ret

    Cc: Jan Beulich
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Access to chip-internal registers should always be native-endian. This is
    especially important for AVR32 since it's a big-endian architecture and the
    non-raw readl() and writel() macros are defined to do little-endian
    accesses.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • While compiling my code with -Wconversion using gcc-trunk, I always get a
    bunch of warrning from headers, here is fix for them:

    __getblk is alawys called with unsigned argument,
    but it takes signed, the same story with __bread,__breadahead and so on.

    Signed-off-by: Tomasz Kvarsin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tomasz Kvarsin
     
  • The problem we were assuming that current->nsproxy->ipc_ns would never
    change while someone has our file in /proc/sysvipc/ file open. Given that
    this can change with both unshare and by passing the file descriptor to
    another process that assumption is occasionally wrong.

    Therefore this patch causes /proc/sysvipc/* to cache the namespace and
    increment it's count when we open the file and to decrement the count when
    we close the file, ensuring consistent operation with no surprises.

    Signed-off-by: Eric W. Biederman
    Cc: Serge E. Hallyn
    Cc: Herbert Poetzl
    Cc: Kirill Korotaev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Use ARRAY_SIZE macro already defined in kernel.h

    Signed-off-by: Ahmed S. Darwish
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • Use ARRAY_SIZE macro already defined in kernel.h

    Signed-off-by: Ahmed S. Darwish
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • Use ARRAY_SIZE macro already defined in kernel.h

    Signed-off-by: Ahmed S. Darwish
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • A patch to use ARRAY_SIZE macro already defined in kernel.h

    Signed-off-by: Ahmed S. Darwish
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • The problem is various drivers legally validly and sensibly try to claim
    IRQs but the kernel insists on vomiting forth a giant irrelevant debugging
    spew when the types clash.

    Edit kernel/irq/manage.c go down to mismatch: in setup_irq() and ifdef out
    the if clause that checks for mismatches. It'll then just do the right
    thing and work sanely.

    For the current -mm kernel this will do the trick (and moves it into shared
    irq debugging as in debug mode the info spew is useful). I've had a
    variant of this in my private tree for some time as I got fed up on the
    mess on boxes where old legacy IRQs get reused.

    Signed-off-by: Alan Cox
    Cc: Arjan van de Ven
    Cc: Ingo Molnar
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Drivers registering IRQ handlers with SA_SHIRQ really ought to be able to
    handle an interrupt happening before request_irq() returns. They also
    ought to be able to handle an interrupt happening during the start of their
    call to free_irq(). Let's test that hypothesis....

    [bunk@stusta.de: Kconfig fixes]
    Signed-off-by: David Woodhouse
    Cc: Arjan van de Ven
    Signed-off-by: Jesper Juhl
    Signed-off-by: Ingo Molnar
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • Fix for inotify read bug (bugzilla.kernel.org #6999)

    Problem Description:
    When reading from an inotify device with an insufficient sized buffer, read(2)
    will return 0 with no errno set. This is because of an logically incorrect
    action from the user program thus should return an more logical value. My
    suggestion is return -EINVAL as for bind(2).

    This patch is based on the proposal from Ryan , and
    feedback from John McCutchan .

    Return -EINVAL if we have not passed in enough buffer space to read a single
    inotify event, rather than 0 which indicates that there is nothing to read.

    Signed-off-by: Nick Piggin
    Acked-by: "John McCutchan"
    Cc: Ryan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • Iterate over sb->s_inodes instead of sb->s_files in add_dquot_ref. This
    reduces list search and lock hold time aswell as getting rid of one of the
    few uses of file_list_lock which Ingo identified as a scalability problem.

    Previously we called dq_op->initialize for every inode handing of a
    writeable file that wasn't initialized before. Now we're calling it for
    every inode that has a non-zero i_writecount, aka a writeable file
    descriptor refering to it.

    Thanks a lot to Jan Kara for running this patch through his quota test
    harness.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Remove_dquot_ref can move to dqout.c instead of beeing in inode.c under
    #ifdef CONFIG_QUOTA. Also clean the resulting code up a tiny little bit by
    testing sb->dq_op earlier - it's constant over a filesystems lifetime.

    Signed-off-by: Christoph Hellwig
    Cc: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • The return value of scnprintf() never exceeds @size.

    Signed-off-by: Martin Peschke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Peschke
     
  • This patch fixes the documentation of nfsroot to match NFS_DEF_FILE_IO_SIZE.

    Or perhaps we need to change NFS_DEF_FILE_IO_SIZE to match the
    documentation?

    Signed-off-by: Dan Aloni
    Cc: "David S. Miller"
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Aloni
     
  • Cyclades no longer serves the 2 e-mails listed in MAINTAINERS. Remove them
    and mark those entries as Orphaned.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Since quota.h declares a R/W semaphore, it should include rwsem.h
    explicitly.

    Signed-off-by: Robert P. J. Day
    Acked-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Remove labs() since it is not used/needed.

    Signed-off-by: Richard Knutsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Knutsson
     
  • Use pci_device_id struct instead of ushort array. Add MODULE_DEVICE_TABLE.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Use more PCI_DEVICE macro

    Signed-off-by: Jiri Slaby
    Acked-by: Wim Van Sebroeck (alim7101_wdt.c part)
    Cc: Michael Buesch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Here is a bugfix to d_path.

    First, when d_path() hits a lazily unmounted mount point, it tries to
    prepend the name of the lazily unmounted dentry to the path name. It gets
    this wrong, and also overwrites the slash that separates the name from the
    following pathname component. This is demonstrated by the attached test
    case, which prints "getcwd returned d_path-bugsubdir" with the bug. The
    correct result would be "getcwd returned d_path-bug/subdir".

    It could be argued that the name of the root dentry should not be part of
    the result of d_path in the first place. On the other hand, what the
    unconnected namespace was once reachable as may provide some useful hints
    to users, and so that seems okay.

    Second, it isn't always possible to tell from the __d_path result whether
    the specified root and rootmnt (i.e., the chroot) was reached: lazy
    unmounts of bind mounts will produce a path that does start with a
    non-slash so we can tell from that, but other lazy unmounts will produce a
    path that starts with a slash, just like "ordinary" paths.

    The attached patch cleans up __d_path() to fix the bug with overlapping
    pathname components. It also adds a @fail_deleted argument, which allows
    to get rid of some of the mess in sys_getcwd(). Grabbing the dcache_lock
    can then also be moved into __d_path(). The patch also makes sure that
    paths will only start with a slash for paths which are connected to the
    root and rootmnt.

    The @fail_deleted argument could be added to d_path() as well: this would
    allow callers to recognize deleted files, without having to resort to the
    ambiguous check for the " (deleted)" string at the end of the pathnames.
    This is not currently done, but it might be worthwhile.

    Signed-off-by: Andreas Gruenbacher
    Cc: Neil Brown
    Cc: Al Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Gruenbacher
     
  • Replace the incorrect debugging check of "#ifdef NTFS_DEBUG" with
    just "#ifdef DEBUG".

    Signed-off-by: Robert P. J. Day
    Acked-by: Anton Altaparmakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • As pointed out in http://bugzilla.kernel.org/show_bug.cgi?id=7922, dynamic
    blockdev major allocation can hand out majors which LANANA has defined as
    being for local/experimental use.

    Cc: Torben Mathiasen
    Cc: Greg KH
    Cc: Al Viro
    Cc: Tomas Klas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • As pointed out in http://bugzilla.kernel.org/show_bug.cgi?id=7922, dynamic
    chardev major allocation can hand out majors which LANANA has defined as being
    for local/experimental use.

    Cc: Torben Mathiasen
    Cc: Greg KH
    Cc: Al Viro
    Cc: Tomas Klas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Don't hide buffer_unwritten behind buffer_delay() and remove the hack that
    clears unexpected buffer_unwritten() states now that it can't happen.

    Signed-off-by: Dave Chinner
    Acked-by: Christoph Hellwig
    Cc: Timothy Shimmin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Chinner
     
  • Currently, XFS uses BH_PrivateStart for flagging unwritten extent state in a
    bufferhead. Recently, I found the long standing mmap/unwritten extent
    conversion bug, and it was to do with partial page invalidation not clearing
    the unwritten flag from bufferheads attached to the page but beyond EOF. See
    here for a full explaination:

    http://oss.sgi.com/archives/xfs/2006-12/msg00196.html

    The solution I have checked into the XFS dev tree involves duplicating code
    from block_invalidatepage to clear the unwritten flag from the bufferhead(s),
    and then calling block_invalidatepage() to do the rest.

    Christoph suggested that this would be better solved by pushing the unwritten
    flag into the common buffer head flags and just adding the call to
    discard_buffer():

    http://oss.sgi.com/archives/xfs/2006-12/msg00239.html

    The following patch makes BH_Unwritten a first class citizen.

    Signed-off-by: Dave Chinner
    Acked-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Chinner
     
  • Make mincore work for anon mappings, nonlinear, and migration entries.
    Based on patch from Linus Torvalds .

    Signed-off-by: Nick Piggin
    Acked-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin