1. 09 8月, 2010 2 次提交
    • Y
      via82cxxx: fix typo for VT6415 PCIE PATA IDE Host Controller support. · 2a800b7b
      Yann Dirson 提交于
      Without this fix, init of the via82cxxx driver causes a oops with a
      stack resembling the one below, and the boot blocks between init of
      USB devices and launch of init (was easy to bisect by booting with
      init=/bin/sh).
      
       Pid: 279, comm: work_for_cpu Not tainted 2.6.34.1-00003-ga42ea77 #2
       Call Trace:
        [<ffffffff81045691>] ? warn_slowpath_common+0x76/0x8c
        [<ffffffff810456f9>] ? warn_slowpath_fmt+0x40/0x45
        [<ffffffff812eb5a1>] ? printk+0x40/0x47
        [<ffffffff8108e1fd>] ? enable_irq+0x3e/0x64
        [<ffffffffa0003900>] ? ide_probe_port+0x55c/0x589 [ide_core]
        [<ffffffffa0003f22>] ? ide_host_register+0x273/0x628 [ide_core]
        [<ffffffffa00083e3>] ? ide_pci_init_two+0x4da/0x5c5 [ide_core]
        [<ffffffff8106117e>] ? up+0xe/0x36
        [<ffffffff81045d7e>] ? release_console_sem+0x17e/0x1ae
        [<ffffffff812d945b>] ? klist_iter_exit+0x14/0x1e
        [<ffffffff8120ed23>] ? bus_find_device+0x75/0x83
        [<ffffffffa0022832>] ? via_init_one+0x269/0x28a [via82cxxx]
        [<ffffffffa00223a2>] ? init_chipset_via82cxxx+0x0/0x1ea [via82cxxx]
        [<ffffffff81059f25>] ? do_work_for_cpu+0x0/0x1b
        [<ffffffff81190c65>] ? local_pci_probe+0x12/0x16
        [<ffffffff81059f30>] ? do_work_for_cpu+0xb/0x1b
        [<ffffffff8105d0dd>] ? kthread+0x75/0x7d
        [<ffffffff810097e4>] ? kernel_thread_helper+0x4/0x10
        [<ffffffff8105d068>] ? kthread+0x0/0x7d
        [<ffffffff810097e0>] ? kernel_thread_helper+0x0/0x10
       ---[ end trace 89c8cb70379b5bda ]---
      
      The typo was introduced in a354ae87,
      and affects 2.6.33-rc4 and later.
      Signed-off-by: NYann Dirson <ydirson@altern.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2a800b7b
    • B
      ide-cd: Do not access completed requests in the irq handler · 11071282
      Borislav Petkov 提交于
      ide_cd_error_cmd() can complete an erroneous request with leftover
      buffers. Signal this with its return value so that the request is not
      accessed after its completion in the irq handler and we oops.
      
      Cc: <stable@kernel.org> # 32.x 33.x 34.x
      Signed-off-by: NBorislav Petkov <bp@alien8.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      11071282
  2. 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
  3. 06 8月, 2010 25 次提交
  4. 05 8月, 2010 10 次提交