06 May, 2005

40 commits

  • This patch fixes an off by one error found by the Coverity checker.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • this clarifies the documentation on the behavier of strncpy().

    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    walter harms
     
  • As per http://www.nist.gov/dads/HTML/shellsort.html, this should be
    referred to as a Shell sort. Shell-Metzner is a misnomer.

    Signed-off-by: Daniel Dickman
    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • The regression test in lib/sort.c is currently worthless because the array
    that is generated for sorting will be all zeros. This patch fixes things
    so that the array that is generated will contain unsorted integers (that
    are not all identical) as was probably intended.

    Signed-off-by Daniel Dickman
    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • drivers/scsi/NCR53C9x.c: In function `esp_do_data':
    drivers/scsi/NCR53C9x.c:1838: warning: unused variable `flags'

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • - Changed Name/defines from "Geode GX" to "Geode GX1" for clarification

    - Dropped "-march=i586" in favor of "-march=i486"

    - Dopped X86_OOSTORE support for Geode GX1

    Signed-off-by: Kianusch Sayah Karadji
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kianusch Sayah Karadji
     
  • Ross moved. Remove the bad email address so people will find the correct
    one in ./CREDITS.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • When I do a "diff -Nur arch/i386 arch/x86_64" to see what is different between these two
    architectures, I see some differences due to whitespace issues only. The attached patch removes
    some of the noise by fixing up the following files:
    - arch/i386/boot/bootsect.S
    - arch/i386/boot/video.S
    - arch/x86_64/boot/bootsect.S

    Signed-off-by: Daniel Dickman
    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • Just a few small cleanups to make this coherent english.

    Signed-Off-By: Martin Hicks
    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • compile warning cleanup - suggested by Adrian Bunk; remove unmaintained rcs
    char strings from source and handle the occurrences of their use, make sure
    kernel-userspace issues taken care of; break out into separate patch

    Signed-off-by: Stephen Biggs
    Signed-off-by: Domen Puncer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • Signed-off-by: Jesper Juhl
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Add some comments about task->comm, to explain what it is near its definition
    and provide some important pointers to its uses.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Use NULL instead of 0 for pointer (sparse warning):
    fs/reiserfs/namei.c:611:50: warning: Using plain integer as NULL pointer

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

    Randy.Dunlap
     
  • Fix cyrix section references:
    convert __initdata to __devinitdata.

    Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 00000379
    R_386_32 .init.data
    Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 00000399
    R_386_32 .init.data
    Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003b3
    R_386_32 .init.data
    Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003b9
    R_386_32 .init.data
    Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003bf
    R_386_32 .init.data

    Signed-of-by: maximilian attems

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

    maximilian attems
     
  • This patch makes some needlessly global identifiers static.

    Signed-off-by: Adrian Bunk
    Acked-by: Arjan van de Ven
    Acked-by: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch makes some needlessly global code static.

    Signed-Off-By: Alasdair G Kergon
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • The dm emc hardware handler code memset the hardware handler structure to zero
    AFTER it had initialized the structure's spinlock field.

    Signed-Off-By: Alasdair G Kergon
    From: Dave Olien
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • dm-mpath.c needs to use a private workqueue (like other dm targets already do)
    to avoid interfering with users of the default workqueue.

    Signed-Off-By: Alasdair G Kergon
    Acked-by: Jens Axboe
    Signed-off-by: Lars Marowsky-Bree
    Signed-off-by:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Tidy dm_suspend.

    Signed-Off-By: Alasdair G Kergon
    From: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Handle error from __lock_fs()

    Signed-Off-By: Alasdair G Kergon
    From: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Allow freeze_bdev() to return an error.

    Signed-Off-By: Alasdair G Kergon
    From: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Make __unlock_fs() void.

    From: Christoph Hellwig

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

    Alasdair G Kergon
     
  • Store the struct block_device while device is frozen, saving us one call to
    bdget_disk().

    Signed-Off-By: Alasdair G Kergon
    From: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • This had a fatal lock ranking bug: we do journal_start outside
    mpage_writepages()'s lock_page().

    Revert the whole thing, think again.

    Credit-to: Jan Kara

    For identifying the bug.

    Cc: Badari Pulavarty
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Add mailing list addresses for Orinoco and update its homepage.

    Signed-off-by: Pavel Roskin
    Cc: David Gibson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Roskin
     
  • Attached is a patch to bttv which fixes the following problems.

    Affected cards and problems:
    ~~~~~~~~~~~~~~~~~~~~~~~~
    o VP-1020 (200103A) Tuning problems, device detection.
    o VP-1020 (DST-MOT) Errors during tuning, device detection fails in a while.
    o VP-1030 (DST-CI) Tuning sometimes fails after CI commands.
    o VP-2031 (DCT-CI) Tuning problems

    The timeout happens before the actual timeout occured in the MCU
    on the board, and hence the problems.

    Changes: (bttv-i2c.diff)
    ~~~~~~~~~~~~~~~~~~~~~~~~
    o Changed the custom wait queue to wait_event_interruptible_timeout()
    - Suggestion by Johannes Stezenbach.

    o Fixed the wait queue timeout problem
    - This fixes the timeout problem on various cards.
    - This problem was visible as many
    * Cannot tune to channels, when signal levels are very low.
    * app_info does not work in some conditions for CI based cards
    - Smaller values worked good for newer cards, but the older cards
    suffered, settled down to the worst case values that could happen in any
    eventuality.

    Signed-off-by: Manu Abraham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • The only caller that ever sets it can call fsync_bdev itself easily. Also
    update some comments.

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

    Christoph Hellwig
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • This patch adds support for a new class of DAC960 controllers. It's based
    on the GPLed idac320 driver from IBM for Linux 2.4.18. That driver is a
    fork of the 2.4.18 version of DAC960 that adds support for this new type of
    controllers (internally called "GEM Series"), that differ from other DAC960
    V2 firmware controllers only in the register offsets and removes support
    for all others.

    This patch instead integrates support for these controllers into the DAC960
    driver.

    Thanks to Anders Norrbring for pointing me to the idac320 driver and
    testing this patch.

    No Signed-Off: line because all code is either copy & pasted from IBM's
    idac320 driver or support for other controllers in the 2.6 DAC960 driver.

    Note: the really odd formating matches the rest of the DAC960 driver.

    Cc: Dave Olien
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Make sure that if the INTRTIE bit is set both functions of the cardbus
    bridge use the same IRQ before doing any probing...

    [ yes i hate the TI bridges for the fact that they are very flexible
    so that so many BIOS vendors get it wrong. ]

    Signed-off-by: Daniel Ritz
    Signed-off-by: Dominik Brodowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Ritz
     
  • Enable 32-bit memory windows on pd6729 PCI-PCMCIA bridges.

    Signed-off-by: Jarkko Raja
    Signed-off-by: Dominik Brodowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dominik Brodowski
     
  • This patch handles the VIDIOC_S_FMT and VIDIOC_G_FMT ioctls for the
    saa6752hs.

    As only 4 preset video formats are supported (SIF, 1/2D1, 2/3D1, D1), we
    compute to which the asked resolution is the nearest and apply it.

    Signed-off-by: Frederic Cand
    Acked-by: Gerd Knorr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frederic CAND
     
  • Additions to the dontdiff list.

    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • There's no longer a reason to document the obsolete BK usage.

    Signed-off-by: Adrian Bunk
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Has lots of callsites.

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

    Andrew Morton
     
  • These three functions are referenced from the __devinitdata
    sis5513_chipset.

    Signed-off-by: Adrian Bunk
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • It seems that the code responsible for this is in kernel/itimer.c:126:

    p->signal->real_timer.expires = jiffies + interval;
    add_timer(&p->signal->real_timer);

    If you request an interval of, lets say 900 usecs, the interval given by
    timeval_to_jiffies will be 1.

    If you request this when we are half-way between two timer ticks, the
    interval will only give 400 usecs.

    If we want to guarantee that we never ever give intervals less than
    requested, the simple solution would be to change that to:

    p->signal->real_timer.expires = jiffies + interval + 1;

    This however will produce pathological cases, like having a idle system
    being requested 1 ms timeouts will give systematically 2 ms timeouts,
    whereas currently it simply gives a few usecs less than 1 ms.

    The complex (and more computationally expensive) solution would be to
    check the gettimeofday time, and compute the correct number of jiffies.
    This way, if we request a 300 usecs timer 200 usecs inside the timer
    tick, we can wait just one tick, but not if we are 800 usecs inside the
    tick. This would also mean that we would have to lock preemption during
    these computations to avoid races, etc.

    I've searched the archives but couldn't find this particular issue being
    discussed before.

    Attached is a patch to do the simple solution, in case anybody thinks
    that it should be used.

    Signed-Off-By: Paulo Marques
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paulo Marques
     
  • The `last_bh' logic probably isn't worth much. In those situations where only
    the front part of the page is being written out we will save some looping but
    in the vastly more common case of an all-page writeout if just adds more code.

    Nick Piggin

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

    Andrew Morton
     
  • Remove all those get_bh()'s and put_bh()'s by extending lock_page() to cover
    the troublesome regions.

    (get_bh() and put_bh() happen every time whereas contention on a page's lock
    in there happens basically never).

    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • When running
    fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2
    on an ext2 filesystem with 1024 byte block size, on SMP i386 with 4096 byte
    page size over loopback to an image file on a tmpfs filesystem, I would
    very quickly hit
    BUG_ON(!buffer_async_write(bh));
    in fs/buffer.c:end_buffer_async_write

    It seems that more than one request would be submitted for a given bh
    at a time.

    What would happen is the following:
    2 threads doing __mpage_writepages on the same page.
    Thread 1 - lock the page first, and enter __block_write_full_page.
    Thread 1 - (eg.) mark_buffer_async_write on the first 2 buffers.
    Thread 1 - set page writeback, unlock page.
    Thread 2 - lock page, wait on page writeback
    Thread 1 - submit_bh on the first 2 buffers.
    => both requests complete, none of the page buffers are async_write,
    end_page_writeback is called.
    Thread 2 - wakes up. enters __block_write_full_page.
    Thread 2 - mark_buffer_async_write on (eg.) the last buffer
    Thread 1 - finds the last buffer has async_write set, submit_bh on that.
    Thread 2 - submit_bh on the last buffer.
    => oops.

    So change __block_write_full_page to explicitly keep track of the last bh
    we need to issue, so we don't touch anything after issuing the last
    request.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin