29 Jun, 2007

24 commits

  • Not all the world is an i386. Many architectures need 64-bit arguments to be
    aligned in suitable pairs of registers, and the original
    sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an
    argument register for padding after the first integer. Since we don't
    normally have more than 6 arguments for system calls, that left no room for
    the final argument on some architectures.

    Fix this by introducing sys_sync_file_range2(int, int, loff_t, loff_t) which
    all fits nicely. In fact, ARM already had that, but called it
    sys_arm_sync_file_range. Move it to fs/sync.c and rename it, then implement
    the needed compatibility routine. And stop the missing syscall check from
    bitching about the absence of sys_sync_file_range() if we've implemented
    sys_sync_file_range2() instead.

    Tested on PPC32 and with 32-bit and 64-bit userspace on PPC64.

    Signed-off-by: David Woodhouse
    Acked-by: Russell King
    Cc: Arnd Bergmann
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • The interrupt clearing code in mpsc_sdma_intr_ack() mistakenly clears the
    interrupt for both controllers instead of just the one its supposed to.
    This can result in the other controller appearing to hang because its
    interrupt was effectively lost.

    So, don't clear the interrupt cause bits for both MPSC controllers when
    clearing the interrupt for one of them. Just clear the one that is
    supposed to be cleared.

    Signed-off-by: Jay Lubomirski
    Acked-by: Mark A. Greer
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jay Lubomirski
     
  • gcc correctly says

    fs/ext2/super.c: In function 'ext2_remount':
    fs/ext2/super.c:1055: warning: 'err' may be used uninitialized in this function

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

    Andrew Morton
     
  • arch/mips/jazz/setup.c:55:4: error: Initializer entry defined twice

    Signed-off-by: Alexey Dobriyan
    Acked-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • This can disrupt userspace signal management.

    Signed-off-by: Evgeniy Polyakov
    Cc: Roland McGrath
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Polyakov
     
  • When I use relayfs with "overwrite" mode, read() still sets incorrect
    number of consumed bytes.

    Signed-off-by: Masami Hiramatsu
    Acked-by: Tom Zanussi
    Acked-by: David Wilder
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masami Hiramatsu
     
  • Fix a bug in the relay read interface causing the number of consumed bytes
    to be set incorrectly.

    Signed-off-by: Tom Zanussi
    Signed-off-by: David Wilder
    Cc: Masami Hiramatsu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Wilder
     
  • Change __devexit to __devexit_p:
    sound/isa/opl3sa2.c:956: error: expected expression before '__attribute__'

    Signed-off-by: Randy Dunlap
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Also, remove outdated 1394 tree and mention MAINTAINERS as pointer to
    development trees.

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

    Stefan Richter
     
  • WARNING: drivers/built-in.o(.text+0x8742a): Section mismatch: reference to .init.data:chipsfb_fix (between 'chipsfb_pci_init' and 'chipsfb_set_par')
    WARNING: drivers/built-in.o(.text+0x87432): Section mismatch: reference to .init.data:chipsfb_fix (between 'chipsfb_pci_init' and 'chipsfb_set_par')
    WARNING: drivers/built-in.o(.text+0x87442): Section mismatch: reference to .init.data:chipsfb_var (between 'chipsfb_pci_init' and 'chipsfb_set_par')
    WARNING: drivers/built-in.o(.text+0x8744a): Section mismatch: reference to .init.data:chipsfb_var (between 'chipsfb_pci_init' and 'chipsfb_set_par')

    init_chips is only called from chipsfb_pci_init
    chipsfb_fix and chipsfb_var are only referenced from init_chips

    Signed-off-by: Olaf Hering
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • The new code in kernel/signal.c does not allow fetching private signals
    from another task. This patch avoid spurious POLLIN returns from a
    signalfd poll(2) operation.

    Signed-off-by: Davide Libenzi
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     
  • This patch changes the test for the thread pid from >= 0 to > 0.

    When the saa8134 driver initialization fails after a certain point, it goes
    through the complete shutdown process for the driver. Part of shutting it
    down includes tearing down the thread for tv audio.

    The test for tearing down the thread tests for >= 0. Since the dev
    structure is kzalloc'd, the test will always be true if we haven't tried to
    start the thread yet. We end up waiting on pid 0 to complete, which will
    never happen, so we lock up.

    This bug was observed in Novell Bugzilla 284718, when request_irq() failed.

    Signed-off-by: Jeff Mahoney
    Acked-by: Mauro Carvalho Chehab
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     
  • Cannot mix const and __initdata:
    sound/pci/ice1712/prodigy192.c:708: error: ak4114_controls causes a section type conflict

    Signed-off-by: Randy Dunlap
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Rename struct pci_driver data so that false section mismatch warnings won't
    be produced.

    Sam, ISTM that depending on variable names is the weakest & worst part of
    modpost section checking. Should __init_refok work here? I got build
    errors when I tried to use it, probably because the struct pci_driver probe
    and remove methods are not marked "__init_refok".

    WARNING: drivers/dma/ioatdma.o(.data+0x10): Section mismatch: reference to .init.text: (between 'ioat_pci_drv' and 'ioat_pci_tbl')
    WARNING: drivers/dma/ioatdma.o(.data+0x14): Section mismatch: reference to .exit.text: (between 'ioat_pci_drv' and 'ioat_pci_tbl')

    Signed-off-by: Randy Dunlap
    Acked-by: Chris Leech
    Cc: Sam Ravnborg
    Cc: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on
    (tristate)BAZ, build problems will result. If BAZ=m, then BAR can be set
    y, which allows FOO=y. It's possible to have FOO=y && BAZ=m, which
    wouldn't be allowed if FOO depended directly on BAZ. In effect, the bool
    promotes the tristate from m to y.

    This ends up causing a problem with several menuconfigs that look like:

    menuconfig BAR
    bool
    depends on BAZ [tristate]
    if BAR
    config FOO
    tristate
    endif

    The solution used here is to add the dependencies of BAR to the if
    statement, so that items in the if block will gain a direct
    non-bool-promoted dependency on BAZ. This is how it would work if a menu
    was used instead of an if block.

    Signed-off-by: Trent Piepho
    Acked-by: Mauro Carvalho Chehab
    Cc: "David S. Miller"
    Acked-by: Jeff Garzik
    Cc: Dominik Brodowski
    Cc: Chas Williams
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Trent Piepho
     
  • validate_anon_vma gave a useful check on the integrity of the anon_vma list
    when Andrea was developing obj rmap; but it was not enabled in SLES9
    itself, nor in mainline, until Nick changed commented-out RMAP_DEBUG to
    configurable CONFIG_DEBUG_VM in 2.6.17. Now Petr Vandrovec reports that
    its BUG_ON(mapcount > 100000) can easily crash a CONFIG_DEBUG_VM=y system.

    That limit was just an arbitrary number to protect against an infinite
    loop. We could raise it to something enormous (depending on sizeof struct
    vma and size of memory?); but I rather think validate_anon_vma has outlived
    its usefulness, and is better just removed - which gives a magnificent
    performance boost to anything like Petr's test program ;)

    Of course, a very long anon_vma list is bad news for preemption latency,
    and I believe there has been one recent report of such: let's not forget
    that, but validate_anon_vma only makes it worse not better.

    Signed-off-by: Hugh Dickins
    Cc: Petr Vandrovec
    Acked-by: Nick Piggin
    Cc: Andrea Arcangeli
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Some HP firmware leaves the SMCf010 IRDA device incompletely configured, or
    reports the wrong resources in _CRS. As a workaround, when we find such a
    device, try to auto-configure the device.

    This ignores the _CRS data, picks a config from _PRS, and runs _SRS to
    configure the device. This makes smsc-ircc2 work correctly with PNP
    resources (with no preconfiguration!) on all the machines I tested.

    I think Windows does something like this by default for all devices,
    so we should consider doing the same thing in Linux.

    This patch addresses part of the 2.6.22 regression:
    "no irda0 interface (2.6.21 was OK), smsc does not find chip"
    It fixes smsc-ircc2 PNP device detection on HP nc6000, nc6220, nw8000,
    nw8240, and possibly other machines.

    Signed-off-by: Bjorn Helgaas
    Cc: Samuel Ortiz
    Cc: "Linus Walleij (LD/EAB)"
    Cc: Andrey Borzenkov
    Cc: Michal Piotrowski
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • If we rely on the device resources from PNPBIOS, we also have to rely on
    the BIOS to configure any bridges on the way to the device.

    Using the PNPBIOS resources but changing the configuration of a bridge
    behind the back of the firmware is likely to make things inconsistent.

    This patch addresses part of the 2.6.22 regression:
    "no irda0 interface (2.6.21 was OK), smsc does not find chip"
    It fixes smsc-ircc2 PNP device detection on HP nx5000 laptops.
    Other laptops, including HP nc6000, HP nc8000, HP nw8000, and Toshiba
    Portege 4000, still need PNP quirks to make this work.

    With "smsc-ircc2.nopnp", we do the legacy device probe, including manual
    bridge preconfiguration, as before.

    Signed-off-by: Bjorn Helgaas
    Cc: Samuel Ortiz
    Acked-by: "Linus Walleij (LD/EAB)"
    Cc: Andrey Borzenkov
    Cc: Michal Piotrowski
    Cc: "David S. Miller"
    Cc: Adam Belay
    Cc: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • main.c::mtrr_add() or mtrr_del() [exported]
    calls main.c::mtrr_add_page() or mtrr_del_page() or mtrr_restore() [resume]
    calls main.c::set_mtrr()
    calls main.c::ipi_handler()
    calls main.c::mtrr_if->set_all() == which can be cyrix_set_all

    WARNING: arch/i386/kernel/built-in.o(.text+0x8657): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
    WARNING: arch/i386/kernel/built-in.o(.text+0x866b): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
    WARNING: arch/i386/kernel/built-in.o(.text+0x867e): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
    WARNING: arch/i386/kernel/built-in.o(.text+0x8684): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
    WARNING: arch/i386/kernel/built-in.o(.text+0x868a): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')

    Signed-off-by: Randy Dunlap
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix gcc warning and add parameter checking when CONFIG_EVENTFD=n:

    fs/aio.c: In function 'aio_complete':
    fs/aio.c:955: warning: statement with no effect

    Signed-off-by: Randy Dunlap
    Cc: Davide Libenzi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix a regression on Apple iBook1. Changes in the clock init code caused an
    incorrect XCLK frequency to be used leading to a corrupted display.

    Signed-off-by: Ville Syrjala
    Cc: Olaf Hering
    Cc: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • When one llseek's past the end of the file and then writes, every page past
    the previous end of the file should be cleared. Trevor found that the code,
    as is, does not assure that the very last page is always cleared. This patch
    takes care of that.

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

    Michael Halcrow
     
  • Recent changes in eCryptfs have made it possible to get to ecryptfs_setattr()
    with an uninitialized crypt_stat struct. This results in a wide and colorful
    variety of unpleasantries. This patch properly initializes the crypt_stat
    structure in ecryptfs_setattr() when it is necessary to do so.

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

    Michael Halcrow
     
  • This patch fixes the processes involved in wiping regions of the data during
    truncate and write events, fixing a kernel hang in 2.6.22-rc4 while assuring
    that zero values are written out to the appropriate locations during events in
    which the i_size will change.

    The range passed to ecryptfs_truncate() from ecryptfs_prepare_write() includes
    the page that is the object of ecryptfs_prepare_write(). This leads to a
    kernel hang as read_cache_page() is executed on the same page in the
    ecryptfs_truncate() execution path. This patch remedies this by limiting the
    range passed to ecryptfs_truncate() so as to exclude the page that is the
    object of ecryptfs_prepare_write(); it also adds code to
    ecryptfs_prepare_write() to zero out the region of its own page when writing
    past the i_size position. This patch also modifies ecryptfs_truncate() so
    that when a file is truncated to a smaller size, eCryptfs will zero out the
    contents of the new last page from the new size through to the end of the last
    page.

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

    Michael Halcrow
     

28 Jun, 2007

5 commits


27 Jun, 2007

11 commits

  • ATA_HORKAGE_DMA_RW_ONLY for TORiSAN is verified to be subset of using
    DMA for ATAPI commands which aren't aligned to 16 bytes. As libata
    now doesn't use DMA for unaligned ATAPI commands, the horkage is
    redundant. Kill it.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The IDE driver used DMA for ATAPI commands if READ/WRITE command is
    multiple of sector size or sg command is multiple of 16 bytes. For
    libata, READ/WRITE sector alignment is guaranteed by the high level
    driver (sr), so we only have to worry about the 16 byte alignment.

    This patch makes ata_check_atapi_dma() always request PIO for all data
    transfer commands which are not multiple of 16 bytes.

    The following reports are related to this problem.

    http://bugzilla.kernel.org/show_bug.cgi?id=8605 (confirmed)
    http://thread.gmane.org/gmane.linux.kernel/476620 (confirmed)
    https://bugzilla.novell.com/show_bug.cgi?id=229260 (probably)

    Albert first pointed out the difference between IDE and libata. Kudos
    to him.

    Signed-off-by: Tejun Heo
    Cc: Albert Lee
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • In atapi_xlat(), prepare qc better before calling
    ata_check_atapi_dma() such that ata_check_atapi_dma() can use info
    from qc. While at it, reformat weird looking if/else block in the
    function.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • When EH gives up after repeated exceptions, it doesn't't clear the
    PENDING bit on exit which leaves PENDING bit set without EH actually
    scheduled. This makes ata_port_wait_eh() to wait forever makes rmmod
    hang on such port. Fix it by clearing the flag.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Fix silly condition check bug in ata_dev_disable().

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Fix section mismatch when CONFIG_HOTPLUG=n (but functions are used
    for resume):

    WARNING: drivers/ata/pata_it821x.o(.text+0x3f): Section mismatch: reference to .init.text: (between 'it821x_reinit_one' and 'it821x_program_udma')
    WARNING: drivers/ata/pata_it821x.o(.text+0x691): Section mismatch: reference to .init.text: (between 'it821x_init_one' and 'it821x_passthru_set_dmamode')

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap
     
  • Removed unused variable did_followup_srst from ata_eh_reset().

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • There's no reason to print out hpa related messages when HPA is not
    active. Kill the unconditional message and add a warning message
    which is printed if HPA size is smaller than the current size.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • prereset() is now allowed to set flag for unsupported reset method.
    EH layer is responsible for selecting the fallback. Remove non-sense
    warning message.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The infamous abnormal status message triggers on not so abnormal cases
    including empty port and even when it's being triggered on actual
    errors the info it provides is redundant and out of context - higher
    level functions will print the info in better safe later anyway.

    Also, by being triggered all the time, it leads people to think that
    the abnormality is somehow related to all ATA and system problems
    they're experiencing and gives owners of healthy systems unfounded
    doubts about the integrity of the universe. Make it a DPRINTK and
    save the universe.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Propogate change from drivers/ide

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox