29 May, 2005

33 commits

  • This var is currently useless, as it's apparent from reading the code. Until
    2.6.11 it was used in some code related to jail mode, in the same proc.:

    if(jail){
    while(!reading) sched_yield();
    }

    jail mode has been dropped, together with that use, so let's finish dropping
    this.

    Also, remove some other useless definitions I met.

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

    Paolo 'Blaisorblade' Giarrusso
     
  • Fix it a bit (after some cross checking with "man arch_prctl"). There were:
    *) typos FS/GS and back
    *) FS in place of FS_BASE (and the same for GS)
    *) the procedure used put_user on &addr, where addr was the parameter (i.e.
    changed its param with put_user, completely useless) rather than interpreting
    addr as a pointer, as requested in this case (see the man page).

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

    Paolo 'Blaisorblade' Giarrusso
     
  • After porting this fixlet to UML:

    http://linux.bkbits.net:8080/linux-2.5/cset@41791ab52lfMuF2i3V-eTIGRBbDYKQ

    , I've also added a warning which should refuse compilation with insane values
    for PREEMPT_ACTIVE... maybe we should simply move PREEMPT_ACTIVE out of
    architectures using GENERIC_IRQS.

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

    Paolo 'Blaisorblade' Giarrusso
     
  • Port Paulus's ppc64 fix to sh:

    When the generic IRQ stuff went in, it seems that HARDIRQ_BITS got bumped
    from 9 (for ppc64) up to 12. Consequently, the PREEMPT_ACTIVE bit is now
    within HARDIRQ_MASK, and I get in_interrupt() falsely returning true when
    PREEMPT_ACTIVE is set, and thus a BUG_ON tripping in arch/ppc64/mm/tlb.c.

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

    Paul Mundt
     
  • This is a continuation for UML of:

    http://linux.bkbits.net:8080/linux-2.5/cset@41791ab52lfMuF2i3V-eTIGRBbDYKQ

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Copy (and adapt) to UML the stack code dumper used in i386 when
    CONFIG_FRAME_POINTER is enabled.

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

    Paolo 'Blaisorblade' Giarrusso
     
  • Until now, FRAME_POINTER was set = DEBUG_INFO for UML. Change it to be the
    default way, so that it can be enabled alone (for instance to get better
    backtraces on crashes). The call-trace dumper which uses the frame pointer is
    not yet in, I'm going to introduce it in a separate patch.

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

    Paolo 'Blaisorblade' Giarrusso
     
  • Add a MODULE_LICENSE("GPL") to the driver, remove some unused macros and add
    the GPL license (it's GPL-licensed anyway since it's a GPL-derivative, apart
    that Jeff Dike releases GPL software, in case anybody is wondering).

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

    Paolo 'Blaisorblade' Giarrusso
     
  • Actually, the real support was added by some earlier patches. Now we simply
    re-enable the config. option. I've actually tested it and it works well.

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

    Paolo 'Blaisorblade' Giarrusso
     
  • This removes two now unused files and a couple of unused functions.

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

    Jeff Dike
     
  • We need to disable signals on exit in all cases, not just when rebooting.

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

    Jeff Dike
     
  • One of the ubd driver help strings was bust.

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

    Jeff Dike
     
  • Remove old useless header that was used in Ye Olde Times during 2.4->2.5
    porting to abstract differences. It's definitions are no more used anyway, so
    let's finally kill it.

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

    Jeff Dike
     
  • We should turn off kmalloc when getting a fatal signal regardless of the mode
    we're in.

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

    Jeff Dike
     
  • Eliminate an unused variable warning in ptrace.c and a size mismatch warning
    by adding a cast to __pa.

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

    Jeff Dike
     
  • Miscellaneous cleanup

    Signed-off-by: Manu Abraham
    Cc: Johannes Stezenbach
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • Signed-off-by: Manu Abraham
    Cc: Johannes Stezenbach
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • Signed-off-by: Manu Abraham
    Cc: Johannes Stezenbach
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • Cleanup unnecessary (and undesirable) casts, demodulator_priv is already a
    void*. Suggestion from Andrew Morton

    Signed-off-by: Manu Abraham
    Cc: Johannes Stezenbach
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • The bug was visible as a warning with gcc-3.4.4 (prerelease)

    Message:
    drivers/media/dvb/bt8xx/dst.c:1349: warning: initialization from
    incompatible pointer type.

    Signed-off-by: Manu Abraham
    Cc: Johannes Stezenbach
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manu Abraham
     
  • Signed-off-by: Vojtech Pavlik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vojtech Pavlik
     
  • On Nov 16 2004 a change to intelfbdrv.c was commited (as part of 0.9.2 it
    looks like) that added __initdata to all of the module param variables that
    seems to create the opportunity for an oops.

    I've recently been chasing an OOPS
    (http://marc.theaimsgroup.com/?l=linux-kernel&m=111552250920370&w=2) I
    created by reading every file on the /sys file system and I've traced it
    back to this code in the intelfbdrv. Though I had root privs in my initial
    problem report, it turns out they are un-necessary to generate the oops -
    all you've got to do is "cat /sys/module/intelfb/parameters/mode" enough
    times and eventually it will oops.

    This is because sysfs automatically exports all module_param declarations
    to the sysfs file system.. which means those variables can be dynamically
    evaluated at any later time, which of course means marking them __initdata
    is a bad idea ;).. when they happen to be char *'s it is an especially bad
    idea ;).

    Applying the patch below clears up the OOPS for me.

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

    Patrick McManus
     
  • Do not send empty events to gpm. (Keyboards are assumed to have scroll
    wheel these days, that makes them part-mouse. That means typing on
    keyboard generates empty mouse events).

    From: Dmitry Torokhov
    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • This driver wants to set PF_NOFREEZE.

    Cc: James Bottomley
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Recent kernels occasionally trigger a PMU timeout on some mac laptops,
    typically on wakeup from sleep. This seem to be caused by either a too big
    latency caused by the cpufreq switch on wakeup from sleep or by an
    interrupt beeing lost due to the reset of the interrupt controller done
    during wakeup.

    This patch makes that code more robust by stopping PMU auto poll activity
    around cpufreq changes on machines that use the PMU for such changes (long
    latency switching involving a CPU hard reset and flush of all caches) and
    by removing the reset of the open pic interrupt controller on wakeup (that
    can cause the loss of an interrupt and Darwin doesn't do it, so it must not
    be necessary).

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

    Benjamin Herrenschmidt
     
  • This fixes 'smp_num_siblings' value on the systems with a buggy bios,
    which sets number of siblings to '2' even when HT is disabled. (more
    details are at http://bugzilla.kernel.org/show_bug.cgi?id=4359)

    I am planning to do more cleanup in this area (like moving smp_num_siblings
    to per cpuinfo) shortly.

    Signed-off-by: Suresh Siddha
    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Siddha, Suresh B
     
  • The "unhandled interrupts" catcher, note_interrupt(), increments a global
    desc->irq_count and grossly damages scaling of very large systems, e.g.,
    >192p ia64 Altix, because of this highly contented cacheline, especially
    for timer interrupts. 384p is severely crippled, and 512p is unuseable.

    All calls to note_interrupt() can be disabled by booting with "noirqdebug",
    but this disables the useful interrupt checking for all interrupts.

    I propose eliminating note_interrupt() for all per-CPU interrupts. This
    was the behavior of linux-2.6.10 and earlier, but in 2.6.11 a code
    restructuring added a call to note_interrupt() for per-CPU interrupts.
    Besides, note_interrupt() is a bit racy for concurrent CPU calls anyway, as
    the desc->irq_count++ increment isn't atomic (which, if done, would make
    scaling even worse).

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

    John Hawkes
     
  • num_cache_leaves is used in __devexit cache_remove_dev() and can therefore
    not be __devinit.

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

    Adrian Bunk
     
  • It appears that another test has been added in the Uniform CDROM layer that
    must be passed before a DVD-RAM is considered writeable. This patch
    implements an emulation of the needed packet command for the viocd driver.

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

    Stephen Rothwell
     
  • The g5 support code broke some earlier models unfortunately as those bail
    out early from the detect function, before the point where I added the code
    to locate the PCI device for use with DMA allocations.

    This patch fixes it.

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

    Benjamin Herrenschmidt
     
  • This patch adds a missing attribute to pmac cpufreq so that
    "scaling_available_frequencies" works. It also cleans up the duplicate
    definitions for low and high speed constants.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: John Clemens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • For unspecified reasons, arch/x86_64/kernel/signal.c apparently needs
    ia32_unistd.h.

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

    Oliver Korpilla
     
  • The neutering of the pwc driver was incomplete. It still references
    some now-dead files..

    Signed-off-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Dave Jones
     

28 May, 2005

1 commit


27 May, 2005

6 commits

  • Even after the previous fix you can still set CONFIG_ACPI_BOOT
    indirectly even without CONFIG_ACPI by choosing CONFIG_PCI and
    CONFIG_PCI_MMCONFIG.

    That doesn't build very well either.

    This makes PCI_MMCONFIG depend on ACPI, fixing that hole.

    [ I guess in theory Kconfig could follow the whole chain of dependencies
    for things that get selected, but that sounds insanely complicated, so
    we'll just fix up these things by hand. --Linus ]

    Signed-off-by: Alexander Nyberg
    Signed-off-by: Linus Torvalds

    Alexander Nyberg
     
  • Fix 2.6.12 CONFIG_ACPI=n build regression.
    CONFIG_ACPI_BOOT shall be set only if CONFIG_ACPI.

    Signed-off-by: Len Brown
    Signed-off-by: Linus Torvalds

    Len Brown
     
  • quirk_via_irqpic can't be __devinit for swsuspend

    Signed-off-by: Alexander Nyberg
    Signed-off-by: Linus Torvalds

    Alexander Nyberg
     
  • Delete quirk_via_bridge(), restore quirk_via_irqpic() -- but now
    improved to be invoked upon device ENABLE, and now only for VIA devices
    -- not all devices behind VIA bridges.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Len Brown
     
  • There is a race in the kernel cpuset code, between the code
    to handle notify_on_release, and the code to remove a cpuset.
    The notify_on_release code can end up trying to access a
    cpuset that has been removed. In the most common case, this
    causes a NULL pointer dereference from the routine cpuset_path.
    However all manner of bad things are possible, in theory at least.

    The existing code decrements the cpuset use count, and if the
    count goes to zero, processes the notify_on_release request,
    if appropriate. However, once the count goes to zero, unless we
    are holding the global cpuset_sem semaphore, there is nothing to
    stop another task from immediately removing the cpuset entirely,
    and recycling its memory.

    The obvious fix would be to always hold the cpuset_sem
    semaphore while decrementing the use count and dealing with
    notify_on_release. However we don't want to force a global
    semaphore into the mainline task exit path, as that might create
    a scaling problem.

    The actual fix is almost as easy - since this is only an issue
    for cpusets using notify_on_release, which the top level big
    cpusets don't normally need to use, only take the cpuset_sem
    for cpusets using notify_on_release.

    This code has been run for hours without a hiccup, while running
    a cpuset create/destroy stress test that could crash the existing
    kernel in seconds. This patch applies to the current -linus
    git kernel.

    Signed-off-by: Paul Jackson
    Acked-by: Simon Derr
    Acked-by: Dinakar Guniguntala
    Signed-off-by: Linus Torvalds

    Paul Jackson
     
  • The original pwc author raised some questions about the reverse
    engineering of the decompressor algorithms used in the pwc driver.
    Having done some detailed investigation it appears those concerns that
    clean room policy was not followed are reasonable. I've also had a
    friendly discussion with Philips to ask their view on this.

    This removes the problem items of code which reduces the pwc
    functionality in the kernel a little but leaves all the framework for
    setup that will be needed for decompressors in user space (where they
    eventually belong). This change set is designed to be the minimal risk
    change set given that 2.6.12 is hopefully close to hand, with a view to
    merging the much updated pwc code in 2.6.13 series kernels.

    Someone else can then redo the decompressors properly (clean room) in
    user space.

    Note that while its easy to say that it should have been caught earlier,
    but the violation was really only obvious to someone who had access to
    both the proprietary source and the 'GPL' source.

    Alan Cox