13 Nov, 2008

1 commit

  • It turns out that if one registers a struct platform_device, the
    platform device code expects that platform_device.device->driver points
    to a struct driver inside a struct platform_driver.

    This is not the case with the ipmi-si, ipmi-msghandler and ibmaem
    drivers, which causes the suspend/resume hook functions to jump off into
    nowhere, causing a crash. Make this assumption hold true for these
    three drivers.

    Signed-off-by: Darrick J. Wong
    Acked-by: Corey Minyard
    Cc: Jean Delvare
    Cc: Kay Sievers
    Cc: Greg KH
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darrick J. Wong
     

02 Nov, 2008

1 commit

  • As it is, all instances of ->release() for files that have ->fasync()
    need to remember to evict file from fasync lists; forgetting that
    creates a hole and we actually have a bunch that *does* forget.

    So let's keep our lives simple - let __fput() check FASYNC in
    file->f_flags and call ->fasync() there if it's been set. And lose that
    crap in ->release() instances - leaving it there is still valid, but we
    don't have to bother anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

31 Oct, 2008

1 commit

  • The ipmi_devintf module contains the userspace interface for IPMI devices,
    yet will not be loaded automatically with a system interface handler
    driver.

    Add a MODULE_ALIAS for the "platform:ipmi_si" MODALIAS exported by the
    ipmi_si driver, so that userspace knows of the recommendation.

    Signed-off-by: Scott James Remnant
    Cc: Tim Gardner
    Cc: Corey Minyard
    Cc: [2.6.27.x, maybe earlier?]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Scott James Remnant
     

17 Oct, 2008

1 commit


23 Sep, 2008

1 commit


21 Aug, 2008

1 commit


30 Jul, 2008

1 commit


22 Jul, 2008

1 commit


15 Jul, 2008

1 commit


12 Jul, 2008

1 commit

  • This patch corrects the handling of write operations to the IPMI watchdog
    to work as intended by returning the number of characters actually
    processed. Without this patch, an "echo V >/dev/watchdog" enables the
    watchdog if IPMI is providing the watchdog function.

    Signed-off-by: Mark Rustad
    Signed-off-by: Corey Minyard
    Signed-off-by: Wim Van Sebroeck

    Mark Rustad
     

03 Jul, 2008

1 commit


21 Jun, 2008

2 commits


15 May, 2008

1 commit

  • The current OF probing assumes that the resource is IORESOURCE_MEM. This
    checks for the IORESOURCE_IO flag and behaves appropriately. An I/O resource
    can exist with an ipmi device node on a legacy ISA bus.

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

    Nate Case
     

29 Apr, 2008

16 commits


07 Feb, 2008

2 commits


28 Nov, 2007

1 commit


19 Oct, 2007

6 commits

  • Add support for IPMI 0.9 systems to the IPMI driver. Just handle a shorter
    get device ID command with less information.

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

    Corey Minyard
     
  • The removal of proc entries was done holding a lock, which is no longer
    allowed. There is no need for the lock, only a mutex is required, so switch
    over to a mutex.

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

    Corey Minyard
     
  • Convert over to the new NMI handling for getting IPMI watchdog timeouts via an
    NMI. This add config options to know if there is the ability to receive NMIs
    and if it has an NMI post processing call. Then it modifies the IPMI watchdog
    to take advantage of this so that it can know if an NMI comes in.

    It also adds testing that the IPMI NMI watchdog works.

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

    Corey Minyard
     
  • Currently the IPMI watchdog timer sets the watchdog timeout on a panic, but it
    doesn't actually poll the interface to make sure the message goes out.

    Add an interface for polling the IPMI driver, and add code to the IPMI
    watchdog timer to poll the interface when the timer is set from a panic.

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

    Corey Minyard
     
  • Lockdep was giving an error when loading the IPMI watchdog module. It turns
    out that if you try to claim a lock in a parameter handling routine, lockdep
    won't see that lock as "static" yet because the module is not yet on the
    module list, so it will complain.

    However, the semaphore in question is completely unnecessary. So just remove
    it.

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

    Corey Minyard
     
  • Patrick found a race at startup. Interrupts were being enabled for the IPMI
    interface before the driver was really ready to handle them. This could
    result in an oops if something was pending on the interface at startup and
    interrupt were already enabled (technically shouldn't happen, but need to
    cover for this in real life). So move the IRQ setup to the code that starts
    the actual IPMI processing.

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

    Corey Minyard
     

17 Oct, 2007

1 commit

  • Driver does
    proc_mkdir("ipmi", NULL);
    but
    remove_proc_entry(proc_ipmi_root->name, &proc_root);

    This is OK and working if only slightly inconsistent. Also changing
    proc_root to NULL will help OpenVZ which has multiple proc roots and, as we
    now know, requires matching parents in such cases.

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

    Alexey Dobriyan