1. 10 8月, 2010 3 次提交
    • K
      drivers/base/node.c: reduce stack usage of node_read_meminfo() · 7ee92255
      KOSAKI Motohiro 提交于
      	drivers/base/node.c: In function 'node_read_meminfo':
      	drivers/base/node.c:139: warning: the frame size of 848 bytes is
      	larger than 512 bytes
      
      Fix it by splitting the sprintf() into three parts.  It has no functional
      change.
      Signed-off-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7ee92255
    • P
      drivers/video/w100fb.c: ignore void return value / fix build failure · fa260c00
      Peter Huewe 提交于
      Fix a build failure "error: void value not ignored as it ought to be"
      by removing an assignment of a void return value.  The functionality of
      the code is not changed.
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      Acked-by: NHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fa260c00
    • Y
      ipmi: fix ACPI detection with regspacing · d9e1b6c4
      Yinghai Lu 提交于
      After the commit that changed ipmi_si detecting sequence from SMBIOS/ACPI
      to ACPI/SMBIOS,
      
      | commit 754d4531
      | Author: Matthew Garrett <mjg@redhat.com>
      | Date:   Wed May 26 14:43:47 2010 -0700
      |
      |    ipmi: change device discovery order
      |
      |    The ipmi spec provides an ordering for si discovery.  Change the driver to
      |    match, with the exception of preferring smbios to SPMI as HPs (at least)
      |    contain accurate information in the former but not the latter.
      
      ipmi_si can not be initialized.
      
      [  138.799739] calling  init_ipmi_devintf+0x0/0x109 @ 1
      [  138.805050] ipmi device interface
      [  138.818131] initcall init_ipmi_devintf+0x0/0x109 returned 0 after 12797 usecs
      [  138.822998] calling  init_ipmi_si+0x0/0xa90 @ 1
      [  138.840276] IPMI System Interface driver.
      [  138.846137] ipmi_si: probing via ACPI
      [  138.849225] ipmi_si 00:09: [io  0x0ca2] regsize 1 spacing 1 irq 0
      [  138.864438] ipmi_si: Adding ACPI-specified kcs state machine
      [  138.870893] ipmi_si: probing via SMBIOS
      [  138.880945] ipmi_si: Adding SMBIOS-specified kcs state machineipmi_si: duplicate interface
      [  138.896511] ipmi_si: probing via SPMI
      [  138.899861] ipmi_si: Adding SPMI-specified kcs state machineipmi_si: duplicate interface
      [  138.917095] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
      [  138.928658] ipmi_si: Interface detection failed
      [  138.953411] initcall init_ipmi_si+0x0/0xa90 returned 0 after 110847 usecs
      
      in smbios has
      DMI/SMBIOS
      Handle 0x00C5, DMI type 38, 18 bytes
      IPMI Device Information
              Interface Type: KCS (Keyboard Control Style)
              Specification Version: 2.0
              I2C Slave Address: 0x00
              NV Storage Device: Not Present
              Base Address: 0x0000000000000CA2 (I/O)
              Register Spacing: 32-bit Boundaries
      in DSDT has
                          Device (BMC)
                          {
      
                              Name (_HID, EisaId ("IPI0001"))
                              Method (_STA, 0, NotSerialized)
                              {
                                  If (LEqual (OSN, Zero))
                                  {
                                      Return (Zero)
                                  }
      
                                  Return (0x0F)
                              }
      
                              Name (_STR, Unicode ("IPMI_KCS"))
                              Name (_UID, Zero)
                              Name (_CRS, ResourceTemplate ()
                              {
                                  IO (Decode16,
                                      0x0CA2,             // Range Minimum
                                      0x0CA2,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                                  IO (Decode16,
                                      0x0CA6,             // Range Minimum
                                      0x0CA6,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                              })
                              Method (_IFT, 0, NotSerialized)
                              {
                                  Return (One)
                              }
      
                              Method (_SRV, 0, NotSerialized)
                              {
                                  Return (0x0200)
                              }
                          }
      
      so the reg spacing should be 4 instead of 1.
      
      Try to calculate regspacing for this kind of system.
      
      Observed on a Sun Fire X4800.  Other OSes work and pass certification.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Myron Stowe <myron.stowe@hp.com>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9e1b6c4
  2. 09 8月, 2010 1 次提交
    • T
      drm: fix fallouts from slow-work -> wq conversion · 9a919c46
      Tejun Heo 提交于
      Commit 991ea75c (drm: use workqueue instead of slow-work), which made
      drm to use wq instead of slow-work, didn't account for the return
      value difference between delayed_slow_work_enqueue() and
      queue_delayed_work().  The former returns 0 on success and -errno on
      failures while the latter never fails and only uses the return value
      to indicate whether the work was already pending or not.
      
      This misconversion triggered spurious error messages.  Remove the now
      unnecessary return value check and error message.
      
      Markus: caught another incorrect conversion in drm_kms_helper_poll_enable()
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.freedesktop.org
      9a919c46
  3. 07 8月, 2010 3 次提交
    • L
      pci: fix type warnings in intr_remapping.c · c513b67e
      Linus Torvalds 提交于
      Commit 69309a05 ("x86, asm: Clean up and simplify set_64bit()")
      sanitized the x86-64 types to set_64bit(), and incidentally resulted in
      warnings like
      
       drivers/pci/intr_remapping.c: In function 'modify_irte':
       drivers/pci/intr_remapping.c:314: warning: passing argument 1 of 'set_64bit' from incompatible pointer type
       arch/x86/include/asm/cmpxchg_64.h:6: note:expected 'volatile u64 *' but argument is of type 'long unsigned int *'
      
      It turns out that the change to set_64bit() really does clean up things,
      and the PCI intr_remapping.c file did a rather ugly cast in order to
      avoid warnings with the previous set_64bit() type model.
      
      Removing the ugly cast fixes the warning, and makes everybody happy and
      expects a set_64bit() to take the logical "u64 *" argument.
      Pointed-out-by: NPeter Anvin <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c513b67e
    • A
      SCSI: remove fake "address-of" expression · e6da54d8
      Alan Stern 提交于
      Fake "address-of" expressions that evaluate to NULL generally confuse
      readers and can provoke compiler warnings.  This patch (as1411) removes
      one such fake expression, using an "#ifdef" in its place.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e6da54d8
    • D
      Fix init ordering of /dev/console vs callers of modprobe · 31d1d48e
      David Howells 提交于
      Make /dev/console get initialised before any initialisation routine that
      invokes modprobe because if modprobe fails, it's going to want to open
      /dev/console, presumably to write an error message to.
      
      The problem with that is that if the /dev/console driver is not yet
      initialised, the chardev handler will call request_module() to invoke
      modprobe, which will fail, because we never compile /dev/console as a
      module.
      
      This will lead to a modprobe loop, showing the following in the kernel
      log:
      
      	request_module: runaway loop modprobe char-major-5-1
      	request_module: runaway loop modprobe char-major-5-1
      	request_module: runaway loop modprobe char-major-5-1
      	request_module: runaway loop modprobe char-major-5-1
      	request_module: runaway loop modprobe char-major-5-1
      
      This can happen, for example, when the built in md5 module can't find
      the built in cryptomgr module (because the latter fails to initialise).
      The md5 module comes before the call to tty_init(), presumably because
      'crypto' comes before 'drivers' alphabetically.
      
      Fix this by calling tty_init() from chrdev_init().
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      31d1d48e
  4. 06 8月, 2010 25 次提交
  5. 05 8月, 2010 8 次提交