1. 29 10月, 2014 4 次提交
  2. 22 10月, 2014 1 次提交
  3. 08 10月, 2014 4 次提交
    • T
      ipmi: Clear drvdata when interface is removed · 567eded9
      Takao Indoh 提交于
      This patch fixes a bug on hotmod removing.
      
      After ipmi interface is removed using hotmod, kernel panic occurs when
      rmmod impi_si.  For example, try this:
      
       # echo "remove,"`cat /proc/ipmi/0/params` > \
       /sys/module/ipmi_si/parameters/hotmod
       # rmmod ipmi_si
      
      Then, rmmod fails with the following messages.
      
        ------------[ cut here ]------------
        WARNING: CPU: 12 PID: 10819 at /mnt/repos/linux/lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
        CPU: 12 PID: 10819 Comm: rmmod Not tainted 3.17.0-rc1 #19
        Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
        Call Trace:
          dump_stack+0x45/0x56
          warn_slowpath_common+0x7d/0xa0
          warn_slowpath_fmt+0x4c/0x50
          __list_del_entry+0x63/0xd0
          list_del+0xd/0x30
          cleanup_one_si+0x2a/0x230 [ipmi_si]
          ipmi_pnp_remove+0x15/0x20 [ipmi_si]
          pnp_device_remove+0x24/0x40
          __device_release_driver+0x7f/0xf0
          driver_detach+0xb0/0xc0
          bus_remove_driver+0x55/0xd0
          driver_unregister+0x2c/0x50
          pnp_unregister_driver+0x12/0x20
          cleanup_ipmi_si+0xbc/0xf0 [ipmi_si]
          SyS_delete_module+0x132/0x1c0
          system_call_fastpath+0x16/0x1b
        ---[ end trace 70b4377268f85c23 ]---
      
      list_del in cleanup_one_si() fails because the smi_info is already
      removed when hotmod removing.
      
      When ipmi interface is removed by hotmod, smi_info is removed by
      cleanup_one_si(), but is is still set in drvdata.  Therefore when rmmod
      ipmi_si, ipmi_pnp_remove tries to remove it again and fails.
      
      By this patch, a pointer to smi_info in drvdata is cleared when hotmod
      removing so that it will be not accessed when rmmod.
      
      changelog:
      v2:
      - Clear drvdata in cleanup_one_si
      - Change subject
      
      v1:
      https://lkml.org/lkml/2014/9/8/741Signed-off-by: NTakao Indoh <indou.takao@jp.fujitsu.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      567eded9
    • A
      ipmi: work around gcc-4.9 build warning · cc4cbe90
      Arnd Bergmann 提交于
      Building ipmi on arm with gcc-4.9 results in this warning for an
      allmodconfig build:
      
        drivers/char/ipmi/ipmi_si_intf.c: In function 'ipmi_thread':
        include/linux/time.h:28:5: warning: 'busy_until.tv_sec' may be used uninitialized in this function [-Wmaybe-uninitialized]
          if (lhs->tv_sec > rhs->tv_sec)
             ^
        drivers/char/ipmi/ipmi_si_intf.c:1007:18: note: 'busy_until.tv_sec' was declared here
          struct timespec busy_until;
                          ^
      
      The warning is bogus and this case can not occur.  Apparently this is a
      false positive resulting from gcc getting a little smarter about
      tracking assignments but not smart enough.
      
      Marking the ipmi_thread_busy_wait function as inline gives the gcc
      optimization logic enough information to figure out for itself that the
      case cannot happen, which gets rid of the warning without adding any
      fake initialization.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cc4cbe90
    • B
      ipmi/of: Don't use unavailable interfaces · 08dc4169
      Benjamin Herrenschmidt 提交于
      If an IPMI controller is used by the firmware and as such marked with
      a reserved status, we shouldn't use it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      08dc4169
    • C
      ipmi: Clean up the error handling for channel config errors · 1f668423
      Corey Minyard 提交于
      The code to send the channel config errors was missing an error report
      in one place and needed some more information in another, and had an
      extraneous bit of code.  Clean all that up.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1f668423
  4. 03 10月, 2014 8 次提交
  5. 02 10月, 2014 13 次提交
  6. 01 10月, 2014 10 次提交