11 Sep, 2005

10 commits


10 Sep, 2005

15 commits

  • Dmitry Torokhov
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • Clean up timer initialization by introducing DEFINE_TIMER a'la
    DEFINE_SPINLOCK. Build and boot-tested on x86. A similar patch has been
    been in the -RT tree for some time.

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

    Ingo Molnar
     
  • On a vc resize, the contents of the old screen buffer are transferred to the
    new screenbuffer. If the new screenbuffer is smaller than the old one, only
    the contents from the bottom are copied to new. If the contents of the old
    buffer are located at the top, then the contents will not be copied to the new
    buffer resulting in a blank screen.

    This bug will happen only if the vc in question is not in the foreground.
    Doing an fbset -a or con2fbmap will trigger this bug.

    To fix this problem, base the start of the copy from the location of the
    current cursor. If the cursor is near the top of the buffer, copy the
    contents at the top, and if the cursor is near the bottom of the buffer, then
    copy the contents at the bottom. In the unlikely case where the new row size
    is greater than 2x smaller than the old one, and the cursor is in the middle,
    copy 1/2 screenful from the top and bottom of the cursor position.

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

    Antonino A. Daplas
     
  • With the use of RCU in files structure, the look-up of files using fds can now
    be lock-free. The lookup is protected by rcu_read_lock()/rcu_read_unlock().
    This patch changes the readers to use lock-free lookup.

    Signed-off-by: Maneesh Soni
    Signed-off-by: Ravikiran Thirumalai
    Signed-off-by: Dipankar Sarma
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dipankar Sarma
     
  • In order for the RCU to work, the file table array, sets and their sizes must
    be updated atomically. Instead of ensuring this through too many memory
    barriers, we put the arrays and their sizes in a separate structure. This
    patch takes the first step of putting the file table elements in a separate
    structure fdtable that is embedded withing files_struct. It also changes all
    the users to refer to the file table using files_fdtable() macro. Subsequent
    applciation of RCU becomes easier after this.

    Signed-off-by: Dipankar Sarma
    Signed-Off-By: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dipankar Sarma
     
  • Fix async internal loopback by not using enable_loopback function which
    reprograms clocking and should only be used for hdlc mode.

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

    Paul Fulghum
     
  • Add ability to clear statistics.

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

    Paul Fulghum
     
  • Disable burst transfers on adapter local bus. Hardware feature does not work
    on latest version of adapter.

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

    Paul Fulghum
     
  • Serial signals were incorrectly mapped twice to events.

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

    Paul Fulghum
     
  • Add internal loopback support for asynchronous mode operation.

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

    Paul Fulghum
     
  • Add the ability to clear statistics.

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

    Paul Fulghum
     
  • Make some fields of DMA descriptor volatile to prevent compiler optimizations.

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

    Paul Fulghum
     
  • The idea of this patch is to lock both sides of a ptmx/pty pair during line
    discipline changing. This is needed to ensure that say a poll on one side of
    the pty doesn't occur while the line discipline is actively being changed.
    This resulted in an oops reported on lkml, see:

    http://marc.theaimsgroup.com/?l=linux-kernel&m=111342171410005&w=2

    A 'hacky' approach was previously implmemented which served to eliminate the
    poll vs. line discipline changing race. However, this patch takes a more
    general approach to the issue. The patch only adds locking on a less often
    used path, the line-discipline changing path, as opposed to locking the
    ptmx/pty pair on read/write/poll paths.

    The patch below, takes both ldisc locks in either order b/c the locks are both
    taken under the same spinlock(). I thought about locking the ptmx/pty
    separately, such as master always first but that introduces a 3 way deadlock.
    For example, process 1 does a blocking read on the slave side. Then, process
    2 does an ldisc change on the slave side, which acquires the master ldisc lock
    but not the slave's. Finally, process 3 does a write which blocks on the
    process 2's ldisc reference.

    This patch does introduce some changes in semantics. For example, a line
    discipline change on side 'a' of a ptmx/pty pair, will now wait for a
    read/write to complete on the other side, or side 'b'. The current behavior
    is to simply wait for any read/writes on only side 'a', not both sides 'a' and
    'b'. I think this behavior makes sense, but I wanted to point it out.

    I've tested the patch with a bunch of read/write/poll while changing the line
    discipline out from underneath.

    This patch obviates the need for the above "hide the problem" patch.

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

    Jason Baron
     
  • Removed gratuitous includes of asm/serial.h in synklinkmp and ip2main.
    Allows to remove the rest of "broken on sparc32" in drivers/char - this
    stuff doesn't break the build anymore. Since it got zero testing, it almost
    certainly won't work there, though...

    Signed-off-by: Al Viro
    Acked-by: Russell King
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     

09 Sep, 2005

2 commits


08 Sep, 2005

13 commits

  • Len Brown
     
  • Linus Torvalds
     
  • The IPMI power control function proc_write_chassctrl was badly written, it
    directly used userspace pointers, it assumed that strings were NULL
    terminated, and it used the evil sscanf function. This converts over to
    using the sysctl interface for this data and changes the semantics to be a
    little more logical.

    Signed-off-by: Corey Minyard
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • This removes the unused "all_cmd_rcvr" variable from the IPMI driver.

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

    Corey Minyard
     
  • Clean up various style issues in the IPMI driver. Should be no functional
    changes.

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

    Corey Minyard
     
  • This patch allows Dell servers with IPMI controllers that predate IPMI 1.5
    to use the standard poweroff or powercycle commands. These systems
    firmware don't set the chassis capability bit in the Get Device ID, but
    they do implement the standard poweroff and powercycle commands.

    Tested on RHEL3 kernel 2.4.21-20.ELsmp on a PowerEdge 2600. The standard
    ipmi_poweroff driver cannot drive these systems. With this patch, they
    power off or powercycle as expected.

    Signed-off-by: Matt Domsch
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The "null message handler" in the IPMI driver is used in startup and panic
    situations to handle messages. It was only designed to work with messages
    from the local management controller, but in some cases it was used to get
    messages from remote managmenet controllers, and the system would then
    panic. This patch makes the "null message handler" in the IPMI driver more
    general so it works with any kind of message.

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

    Corey Minyard
     
  • This adds MODULE_VERSION, MODULE_DESCRIPTION, and MODULE_AUTHOR tags to the
    IPMI driver modules. Also changes the MODULE_VERSION to remove the
    prepended 'v' on each value, consistent with the module versioning policy.

    This patch also removes all the version information from everything except
    the ipmi_msghandler module.

    Signed-off-by: Matt Domsch
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The ipmi driver does not have a way to handle firmware-generated events
    which have the OEM[012] Data Available flags set. In such a case, the
    SMS_ATN bit may never get cleared by firmware, leaving the driver looping
    infinitely but never able to make any progress.

    This patch first simplifies storage and use of the data returned from an
    IPMI Get Device ID command.

    It then creates a new per-OEM handler hook, which should know how to handle
    events with the OEM[012] Data Available flags set. It then uses this to
    implement a workaround for IPMI 1.5-capable Dell PowerEdge servers which
    are susceptable to setting the OEM[012] Data Available flags when the
    driver can't handle it.

    Signed-off-by: Matt Domsch
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • There are some interactions between IPMI NMI timeouts and the other operations
    of the IPMI driver. This make sure those interactions are handled properly.

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

    Corey Minyard
     
  • Fix some problems with the high-res timer support.

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

    Corey Minyard
     
  • IPMI allows multiple IPMB channels on a single interface, and each channel
    might have a different IPMB address. However, the driver has only one IPMB
    address that it uses for everything. This patch adds new IOCTLS and a new
    internal interface for setting per-channel IPMB addresses and LUNs. New
    systems are coming out with support for multiple IPMB channels, and they are
    broken without this patch.

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

    Corey Minyard
     
  • This patch replaces homebrew DMI scanning code in IPMI System Interface driver
    with dmi_find_device() call.

    Signed-off-by: Andrey Panin
    Cc: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Panin