1. 18 3月, 2016 2 次提交
  2. 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
  3. 13 1月, 2016 3 次提交
    • 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
    • K
      char: ipmi: Drop owner assignment from i2c_driver · aad756f8
      Krzysztof Kozlowski 提交于
      i2c_driver does not need to set an owner because i2c_register_driver()
      will set it.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      aad756f8
    • 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
  4. 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
  5. 16 11月, 2015 4 次提交
  6. 25 10月, 2015 1 次提交
  7. 04 9月, 2015 16 次提交
  8. 28 5月, 2015 1 次提交
    • L
      kernel/params: constify struct kernel_param_ops uses · 9c27847d
      Luis R. Rodriguez 提交于
      Most code already uses consts for the struct kernel_param_ops,
      sweep the kernel for the last offending stragglers. Other than
      include/linux/moduleparam.h and kernel/params.c all other changes
      were generated with the following Coccinelle SmPL patch. Merge
      conflicts between trees can be handled with Coccinelle.
      
      In the future git could get Coccinelle merge support to deal with
      patch --> fail --> grammar --> Coccinelle --> new patch conflicts
      automatically for us on patches where the grammar is available and
      the patch is of high confidence. Consider this a feature request.
      
      Test compiled on x86_64 against:
      
      	* allnoconfig
      	* allmodconfig
      	* allyesconfig
      
      @ const_found @
      identifier ops;
      @@
      
      const struct kernel_param_ops ops = {
      };
      
      @ const_not_found depends on !const_found @
      identifier ops;
      @@
      
      -struct kernel_param_ops ops = {
      +const struct kernel_param_ops ops = {
      };
      
      Generated-by: Coccinelle SmPL
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Junio C Hamano <gitster@pobox.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: cocci@systeme.lip6.fr
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      9c27847d
  9. 22 5月, 2015 1 次提交
  10. 06 5月, 2015 9 次提交
  11. 11 4月, 2015 1 次提交