1. 25 11月, 2016 2 次提交
  2. 08 11月, 2016 1 次提交
  3. 27 7月, 2016 1 次提交
    • T
      ipmi: remove trydefaults parameter and default init · b07b58a3
      Tony Camuso 提交于
      Parameter trydefaults=1 causes the ipmi_init to initialize ipmi through
      the legacy port io space that was designated for ipmi. Architectures
      that do not map legacy port io can panic when trydefaults=1.
      
      Rather than implement build-time conditional exceptions for each
      architecture that does not map legacy port io, we have removed legacy
      port io from the driver.
      
      Parameter 'trydefaults' has been removed. Attempts to use it hereafter
      will evoke the "Unknown symbol in module, or unknown parameter" message.
      
      The patch was built against a number of architectures and tested for
      regressions and functionality on x86_64 and ARM64.
      Signed-off-by: NTony Camuso <tcamuso@redhat.com>
      
      Removed the config entry and the address source entry for default,
      since neither were used any more.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      b07b58a3
  4. 17 5月, 2016 2 次提交
    • C
      IPMI: reserve memio regions separately · 57a38f13
      Corey Minyard 提交于
      Commit d61a3ead ("[PATCH] IPMI: reserve I/O ports separately")
      changed the way I/O ports were reserved and includes this comment in
      log:
      
       Some BIOSes reserve disjoint I/O regions in their ACPI tables for the IPMI
       controller.  This causes problems when trying to register the entire I/O
       region.  Therefore we must register each I/O port separately.
      
      There is a similar problem with memio regions on an arm64 platform
      (AMD Seattle). Where I see:
      
       ipmi message handler version 39.2
       ipmi_si AMDI0300:00: probing via device tree
       ipmi_si AMDI0300:00: ipmi_si: probing via ACPI
       ipmi_si AMDI0300:00: [mem 0xe0010000] regsize 1 spacing 4 irq 23
       ipmi_si: Adding ACPI-specified kcs state machine
       IPMI System Interface driver.
       ipmi_si: Trying ACPI-specified kcs state machine at mem \
                address 0xe0010000, slave address 0x0, irq 23
       ipmi_si: Could not set up I/O space
      
      The problem is that the ACPI core registers disjoint regions for the
      platform device:
      
      e0010000-e0010000 : AMDI0300:00
      e0010004-e0010004 : AMDI0300:00
      
      and the ipmi_si driver tries to register one region e0010000-e0010004.
      
      Based on a patch from Mark Salter <msalter@redhat.com>, who also wrote
      all the above text.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Tested-by: NMark Salter <msalter@redhat.com>
      57a38f13
    • C
      ipmi: Fix some minor coding style issues · 76824852
      Corey Minyard 提交于
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      76824852
  5. 18 3月, 2016 3 次提交
  6. 04 2月, 2016 1 次提交
    • T
      ipmi: put acpi.h with the other headers · 58c9d61f
      Tony Camuso 提交于
      Enclosing '#include <linux/acpi.h>' within '#ifdef CONFIG_ACPI' is
      unnecessary, since it has its own conditional compile for CONFIG_ACPI.
      
      Commit 0fbcf4af ("ipmi: Convert the IPMI SI ACPI handling to a
      platform device") exposed this as a problem for platforms that do not
      support ACPI when it introduced a call to ACPI_PTR() macro outside of
      the CONFIG_ACPI conditional compile. This would have been perfectly
      acceptable if acpi.h were not conditionally excluded for the non-acpi
      platform, because the conditional compile within acpi.h defines
      ACPI_PTR() to return NULL when compiled for non acpi platforms.
      Signed-off-by: NTony Camuso <tcamuso@redhat.com>
      
      Fixed commit reference in header to conform to standard.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      58c9d61f
  7. 13 1月, 2016 2 次提交
    • D
      ipmi: Remove unnecessary pci_disable_device. · bb0dcebe
      Dave Jones 提交于
      We call cleanup_one_si from ipmi_pci_remove, which calls ->addr_source_cleanup,
       which gets set to point to ipmi_pci_cleanup, which does a pci_disable_device.
      
      On return from this, we do a second pci_disable_device, which
      results in the trace below.
      
      ipmi_si 0000:00:16.0: disabling already-disabled device
      Call Trace:
       [<ffffffff818ce54c>] dump_stack+0x45/0x57
       [<ffffffff810525f7>] warn_slowpath_common+0x97/0xe0
       [<ffffffff810526f6>] warn_slowpath_fmt+0x46/0x50
       [<ffffffff81497ca1>] pci_disable_device+0xb1/0xc0
       [<ffffffffa00851a5>] ipmi_pci_remove+0x25/0x30 [ipmi_si]
       [<ffffffff8149a696>] pci_device_remove+0x46/0xc0
       [<ffffffff8156801f>] __device_release_driver+0x7f/0xf0
       [<ffffffff81568978>] driver_detach+0xb8/0xc0
       [<ffffffff81567e50>] bus_remove_driver+0x50/0xa0
       [<ffffffff8156914e>] driver_unregister+0x2e/0x60
       [<ffffffff8149a3e5>] pci_unregister_driver+0x25/0x90
       [<ffffffffa0085804>] cleanup_ipmi_si+0xd4/0xf0 [ipmi_si]
       [<ffffffff810c727a>] SyS_delete_module+0x12a/0x200
       [<ffffffff818d4d72>] system_call_fastpath+0x12/0x17
      Signed-off-by: NDave Jones <dsj@fb.com>
      bb0dcebe
    • L
      ipmi: constify some struct and char arrays · 99ee6735
      LABBE Corentin 提交于
      Lots of char arrays could be set as const since they contain only literal
      char arrays.
      We could in the same time make const some struct members who are pointer
      to those const char arrays.
      Signed-off-by: NLABBE Corentin <clabbe.montjoie@gmail.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      99ee6735
  8. 10 12月, 2015 1 次提交
    • J
      ipmi: move timer init to before irq is setup · 27f972d3
      Jan Stancek 提交于
      We encountered a panic on boot in ipmi_si on a dell per320 due to an
      uninitialized timer as follows.
      
      static int smi_start_processing(void       *send_info,
                                      ipmi_smi_t intf)
      {
              /* Try to claim any interrupts. */
              if (new_smi->irq_setup)
                      new_smi->irq_setup(new_smi);
      
       --> IRQ arrives here and irq handler tries to modify uninitialized timer
      
          which triggers BUG_ON(!timer->function) in __mod_timer().
      
       Call Trace:
         <IRQ>
         [<ffffffffa0532617>] start_new_msg+0x47/0x80 [ipmi_si]
         [<ffffffffa053269e>] start_check_enables+0x4e/0x60 [ipmi_si]
         [<ffffffffa0532bd8>] smi_event_handler+0x1e8/0x640 [ipmi_si]
         [<ffffffff810f5584>] ? __rcu_process_callbacks+0x54/0x350
         [<ffffffffa053327c>] si_irq_handler+0x3c/0x60 [ipmi_si]
         [<ffffffff810efaf0>] handle_IRQ_event+0x60/0x170
         [<ffffffff810f245e>] handle_edge_irq+0xde/0x180
         [<ffffffff8100fc59>] handle_irq+0x49/0xa0
         [<ffffffff8154643c>] do_IRQ+0x6c/0xf0
         [<ffffffff8100ba53>] ret_from_intr+0x0/0x11
      
              /* Set up the timer that drives the interface. */
              setup_timer(&new_smi->si_timer, smi_timeout, (long)new_smi);
      
      The following patch fixes the problem.
      
      To: Openipmi-developer@lists.sourceforge.net
      To: Corey Minyard <minyard@acm.org>
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NJan Stancek <jstancek@redhat.com>
      Signed-off-by: NTony Camuso <tcamuso@redhat.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: stable@vger.kernel.org # Applies cleanly to 3.10-, needs small rework before
      27f972d3
  9. 16 11月, 2015 3 次提交
  10. 04 9月, 2015 8 次提交
  11. 06 5月, 2015 4 次提交
  12. 11 4月, 2015 1 次提交
  13. 17 3月, 2015 1 次提交
  14. 20 2月, 2015 5 次提交
  15. 12 12月, 2014 5 次提交