1. 05 Jan, 2009 1 commit
    • Kay Sievers's avatar
      avr: struct device - replace bus_id with dev_name(), dev_set_name() · 5f6333bd
      Kay Sievers authored
      (I did not compile or test it, please let me know, or help fixing
       it, if something is wrong with the conversion)
      
      This patch is part of a larger patch series which will remove
      the "char bus_id[20]" name string from struct device. The device
      name is managed in the kobject anyway, and without any size
      limitation, and just needlessly copied into "struct device".
      
      To set and read the device name dev_name(dev) and dev_set_name(dev)
      must be used. If your code uses static kobjects, which it shouldn't
      do, "const char *init_name" can be used to statically provide the
      name the registered device should have. At registration time, the
      init_name field is cleared, to enforce the use of dev_name(dev) to
      access the device name at a later time.
      
      We need to get rid of all occurrences of bus_id in the entire tree
      to be able to enable the new interface. Please apply this patch,
      and possibly convert any remaining remaining occurrences of bus_id.
      
      We want to submit a patch to -next, which will remove bus_id from
      "struct device", to find the remaining pieces to convert, and finally
      switch over to the new api, which will remove the 20 bytes array
      and does no longer have a size limitation.
      
      Thanks,
      Kay
      
      From: Kay Sievers <kay.sievers@vrfy.org>
      Subject: avr: struct device - replace bus_id with dev_name(), dev_set_name()
      
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      5f6333bd
  2. 17 Dec, 2008 1 commit
  3. 16 Dec, 2008 21 commits
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 7a62b176
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        pata_hpt366: no ATAPI DMA
        pata_hpt366: fix cable detection,
        libata: fix Seagate NCQ+FLUSH blacklist
      7a62b176
    • Linus Torvalds's avatar
      Merge branch 'sh/for-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 3bd82263
      Linus Torvalds authored
      * 'sh/for-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
        sh: Disable GENERIC_HARDIRQS_NO__DO_IRQ for unconverted platforms.
        sh: maple: Do not pass SLAB_POISON to kmem_cache_create()
      3bd82263
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · eef70b21
      Linus Torvalds authored
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc/cell/axon-msi: Fix MSI after kexec
        powerpc: Fix bootmem reservation on uninitialized node
        powerpc: Check for valid hugepage size in hugetlb_get_unmapped_area
      eef70b21
    • KOSAKI Motohiro's avatar
      mm: Don't touch uninitialized variable in do_pages_stat_array() · c095adbc
      KOSAKI Motohiro authored
      Commit 80bba129 removed one necessary
      variable initialization.  As a result following warning happened:
      
          CC      mm/migrate.o
        mm/migrate.c: In function 'sys_move_pages':
        mm/migrate.c:1001: warning: 'err' may be used uninitialized in this function
      
      More unfortunately, if find_vma() failed, kernel read uninitialized
      memory.
      Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      CC: Brice Goglin <Brice.Goglin@inria.fr>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Hugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c095adbc
    • Tejun Heo's avatar
      pata_hpt366: no ATAPI DMA · 3ee89f17
      Tejun Heo authored
      IDE hpt366 driver doesn't allow DMA for ATAPI devices and MWDMA2 on
      ATAPI device locks up pata_hpt366.  Follow the suit.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      3ee89f17
    • Tejun Heo's avatar
      pata_hpt366: fix cable detection, · bab5b32a
      Tejun Heo authored
      pata_hpt366 is strange in that its two channels occupy two PCI
      functions and both are primary channels and bit1 of PCI configuration
      register 0x5A indicates cable for both channels.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      bab5b32a
    • Tejun Heo's avatar
      libata: fix Seagate NCQ+FLUSH blacklist · d10d491f
      Tejun Heo authored
      Due to miscommunication, P/N was mistaken as firmware revision
      strings.  Update it.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      d10d491f
    • Paul Mundt's avatar
      sh: Disable GENERIC_HARDIRQS_NO__DO_IRQ for unconverted platforms. · f9d62c00
      Paul Mundt authored
      Presently limited to Cayman, Dreamcast, Microdev, and SystemH 7751.
      Re-enable it for everyone once these have been fixed up.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      f9d62c00
    • Matt Fleming's avatar
      sh: maple: Do not pass SLAB_POISON to kmem_cache_create() · 93d54639
      Matt Fleming authored
      SLAB_POISON is not a valid flag for kmem_create_cache() unless
      CONFIG_DEBUG_SLAB is set, so remove it from the flags argument.
      Acked-by: default avatarAdrian McMenamin <adrian@newgolddream.dyndns.info>
      Signed-off-by: default avatarMatt Fleming <mjf@gentoo.org>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      93d54639
    • Arnd Bergmann's avatar
      powerpc/cell/axon-msi: Fix MSI after kexec · 23e0e8af
      Arnd Bergmann authored
      Commit d015fe99 'powerpc/cell/axon-msi: Retry on missing interrupt'
      has turned a rare failure to kexec on QS22 into a reproducible
      error, which we have now analysed.
      
      The problem is that after a kexec, the MSIC hardware still points
      into the middle of the old ring buffer.  We set up the ring buffer
      during reboot, but not the offset into it.  On older kernels, this
      would cause a storm of thousands of spurious interrupts after a
      kexec, which would most of the time get dropped silently.
      
      With the new code, we time out on each interrupt, waiting for
      it to become valid.  If more interrupts come in that we time
      out on, this goes on indefinitely, which eventually leads to
      a hard crash.
      
      The solution in this commit is to read the current offset from
      the MSIC when reinitializing it.  This now works correctly, as
      expected.
      Reported-by: default avatarDirk Herrendoerfer <d.herrendoerfer@de.ibm.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      23e0e8af
    • Dave Hansen's avatar
      powerpc: Fix bootmem reservation on uninitialized node · a4c74ddd
      Dave Hansen authored
      careful_allocation() was calling into the bootmem allocator for
      nodes which had not been fully initialized and caused a previous
      bug:  http://patchwork.ozlabs.org/patch/10528/  So, I merged a
      few broken out loops in do_init_bootmem() to fix it.  That changed
      the code ordering.
      
      I think this bug is triggered by having reserved areas for a node
      which are spanned by another node's contents.  In the
      mark_reserved_regions_for_nid() code, we attempt to reserve the
      area for a node before we have allocated the NODE_DATA() for that
      nid.  We do this since I reordered that loop.  I suck.
      
      This is causing crashes at bootup on some systems, as reported
      by Jon Tollefson.
      
      This may only present on some systems that have 16GB pages
      reserved.  But, it can probably happen on any system that is
      trying to reserve large swaths of memory that happen to span other
      nodes' contents.
      
      This commit ensures that we do not touch bootmem for any node which
      has not been initialized, and also removes a compile warning about
      an unused variable.
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a4c74ddd
    • Brian King's avatar
      powerpc: Check for valid hugepage size in hugetlb_get_unmapped_area · 48f797de
      Brian King authored
      It looks like most of the hugetlb code is doing the correct thing if
      hugepages are not supported, but the mmap code is not.  If we get into
      the mmap code when hugepages are not supported, such as in an LPAR
      which is running Active Memory Sharing, we can oops the kernel.  This
      fixes the oops being seen in this path.
      
      oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=1024 NUMA pSeries
      Modules linked in: nfs(N) lockd(N) nfs_acl(N) sunrpc(N) ipv6(N) fuse(N) loop(N)
      dm_mod(N) sg(N) ibmveth(N) sd_mod(N) crc_t10dif(N) ibmvscsic(N)
      scsi_transport_srp(N) scsi_tgt(N) scsi_mod(N)
      Supported: No
      NIP: c000000000038d60 LR: c00000000003945c CTR: c0000000000393f0
      REGS: c000000077e7b830 TRAP: 0300   Tainted: G
      (2.6.27.5-bz50170-2-ppc64)
      MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 44000448  XER: 20000001
      DAR: c000002000af90a8, DSISR: 0000000040000000
      TASK = c00000007c1b8600[4019] 'hugemmap01' THREAD: c000000077e78000 CPU: 6
      GPR00: 0000001fffffffe0 c000000077e7bab0 c0000000009a4e78 0000000000000000
      GPR04: 0000000000010000 0000000000000001 00000000ffffffff 0000000000000001
      GPR08: 0000000000000000 c000000000af90c8 0000000000000001 0000000000000000
      GPR12: 000000000000003f c000000000a73880 0000000000000000 0000000000000000
      GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000010000
      GPR20: 0000000000000000 0000000000000003 0000000000010000 0000000000000001
      GPR24: 0000000000000003 0000000000000000 0000000000000001 ffffffffffffffb5
      GPR28: c000000077ca2e80 0000000000000000 c00000000092af78 0000000000010000
      NIP [c000000000038d60] .slice_get_unmapped_area+0x6c/0x4e0
      LR [c00000000003945c] .hugetlb_get_unmapped_area+0x6c/0x80
      Call Trace:
      [c000000077e7bbc0] [c00000000003945c] .hugetlb_get_unmapped_area+0x6c/0x80
      [c000000077e7bc30] [c000000000107e30] .get_unmapped_area+0x64/0xd8
      [c000000077e7bcb0] [c00000000010b140] .do_mmap_pgoff+0x140/0x420
      [c000000077e7bd80] [c00000000000bf5c] .sys_mmap+0xc4/0x140
      [c000000077e7be30] [c0000000000086b4] syscall_exit+0x0/0x40
      Instruction dump:
      fac1ffb0 fae1ffb8 fb01ffc0 fb21ffc8 fb41ffd0 fb61ffd8 fb81ffe0 fbc1fff0
      fbe1fff8 f821fef1 f8c10158 f8e10160 <7d49002e> f9010168 e92d01b0 eb4902b0
      Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      48f797de
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a3dd1544
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 5348/1: fix documentation wrt location of the alignment trap interface
        [ARM] Ensure linux/hardirqs.h is included where required
        [ARM] fix kernel-doc syntax
        [ARM] arch/arm/common/sa1111.c: Correct error handling code
        [ARM] 5341/2: there is no copy_page on nommu ARM
      a3dd1544
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 7004405c
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        Phonet: keep TX queue disabled when the device is off
        SCHED: netem: Correct documentation comment in code.
        netfilter: update rwlock initialization for nat_table
        netlabel: Compiler warning and NULL pointer dereference fix
        e1000e: fix double release of mutex
        IA64: HP_SIMETH needs to depend upon NET
        netpoll: fix race on poll_list resulting in garbage entry
        ipv6: silence log messages for locally generated multicast
        sungem: improve ethtool output with internal pcs and serdes
        tcp: tcp_vegas cong avoid fix 
        sungem: Make PCS PHY support partially work again.
      7004405c
    • Rusty Russell's avatar
      Define smp_call_function_many for UP · d2ff9118
      Rusty Russell authored
      Otherwise those using it in transition patches (eg. kvm) can't compile
      with CONFIG_SMP=n:
      
      arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function 'make_all_cpus_request':
      arch/x86/kvm/../../../virt/kvm/kvm_main.c:380: error: implicit declaration of function 'smp_call_function_many'
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d2ff9118
    • Paul Menage's avatar
      cgroups: fix a race between rmdir and remount · 307257cf
      Paul Menage authored
      When a cgroup is removed, it's unlinked from its parent's children list,
      but not actually freed until the last dentry on it is released (at which
      point cgrp->root->number_of_cgroups is decremented).
      
      Currently rebind_subsystems checks for the top cgroup's child list being
      empty in order to rebind subsystems into or out of a hierarchy - this can
      result in the set of subsystems bound to a hierarchy being
      removed-but-not-freed cgroup.
      
      The simplest fix for this is to forbid remounts that change the set of
      subsystems on a hierarchy that has removed-but-not-freed cgroups.  This
      bug can be reproduced via:
      
      mkdir /mnt/cg
      mount -t cgroup -o ns,freezer cgroup /mnt/cg
      mkdir /mnt/cg/foo
      sleep 1h < /mnt/cg/foo &
      rmdir /mnt/cg/foo
      mount -t cgroup -o remount,ns,devices,freezer cgroup /mnt/cg
      kill $!
      
      Though the above will cause oops in -mm only but not mainline, but the bug
      can cause memory leak in mainline (and even oops)
      Signed-off-by: default avatarPaul Menage <menage@google.com>
      Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      307257cf
    • Frederik Deweerdt's avatar
      ACPI toshiba: only register rfkill if bt is enabled · 38aefbc5
      Frederik Deweerdt authored
      Part of the rfkill initialization was done whenever BT was on or not.  The
      following patch checks for BT presence before registering the rfkill to
      the input layer.  Some minor cleanups (> 80 char lines) were also added in
      the process.
      
      On Tue, Oct 28, 2008 at 10:10:37PM +0300, Andrey Borzenkov wrote:
      [...]
      > [   66.633036] toshiba_acpi: Toshiba Laptop ACPI Extras version 0.19
      > [   66.633054] toshiba_acpi:     HCI method: \_SB_.VALD.GHCI
      > [   66.637764] input: Toshiba RFKill Switch as /devices/virtual/input/input3
      [...]
      > [  113.920753] ------------[ cut here ]------------
      > [  113.920828] kernel BUG at /home/bor/src/linux-git/net/rfkill/rfkill.c:347!
      > [  113.920845] invalid opcode: 0000 [#1]
      > [  113.920877] last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/host0/target0:0:0/0:0:0:0/block/sda/size
      > [  113.920900] Dumping ftrace buffer:
      > [  113.920919]    (ftrace buffer empty)
      > [  113.920933] Modules linked in: af_packet irnet ppp_generic slhc ircomm_tty ircomm binfmt_misc loop dm_mirror dm_region_hash dm_log dm_round_robin dm_multipath dm_mod alim15x3 ide_core nvram toshiba cryptomgr aead crypto_blkcipher michael_mic crypto_algapi orinoco_cs orinoco hermes_dld hermes pcmcia firmware_class snd_ali5451 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device smsc_ircc2 snd_pcm_oss snd_pcm rtc_cmos irda snd_timer snd_mixer_oss rtc_core snd crc_ccitt yenta_socket rtc_lib rsrc_nonstatic i2c_ali1535 pcmcia_core pcspkr psmouse soundcore i2c_core evdev sr_mod snd_page_alloc alim1535_wdt cdrom fan sg video output toshiba_acpi rfkill thermal backlight ali_agp processor ac button input_polldev battery agpgart ohci_hcd usbcore reiserfs pata_ali libata sd_mod scsi_mod [last unloaded: scsi_wait_scan]
      > [  113.921765]
      > [  113.921785] Pid: 3272, comm: ipolldevd Not tainted (2.6.28-rc2-1avb #3) PORTEGE 4000
      > [  113.921801] EIP: 0060:[<dfaa4683>] EFLAGS: 00010246 CPU: 0
      > [  113.921854] EIP is at rfkill_force_state+0x53/0x90 [rfkill]
      > [  113.921870] EAX: 00000000 EBX: 00000000 ECX: 00000003 EDX: 00000000
      > [  113.921885] ESI: 00000000 EDI: ddd50300 EBP: d8d7af40 ESP: d8d7af24
      > [  113.921900]  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      > [  113.921918] Process ipolldevd (pid: 3272, ti=d8d7a000 task=d8d93c90 task.ti=d8d7a000)
      > [  113.921933] Stack:
      > [  113.921945]  d8d7af38 00000246 dfb029d8 dfb029c0 dfb029d8 dfb029c0 ddd50300 d8d7af5c
      > [  113.922014]  dfb018e2 01000246 01000000 ddd50300 ddd50314 ddabb8a0 d8d7af68 dfb381c1
      > [  113.922098]  00000000 d8d7afa4 c012ec0a 00000000 00000002 00000000 c012eba8 ddabb8c0
      > [  113.922240] Call Trace:
      > [  113.922240]  [<dfb018e2>] ? bt_poll_rfkill+0x5c/0x82 [toshiba_acpi]
      > [  113.922240]  [<dfb381c1>] ? input_polled_device_work+0x11/0x40 [input_polldev]
      > [  113.922240]  [<c012ec0a>] ? run_workqueue+0xea/0x1f0
      > [  113.922240]  [<c012eba8>] ? run_workqueue+0x88/0x1f0
      > [  113.922240]  [<dfb381b0>] ? input_polled_device_work+0x0/0x40 [input_polldev]
      > [  113.922240]  [<c012f047>] ? worker_thread+0x87/0xf0
      > [  113.922240]  [<c0132b00>] ? autoremove_wake_function+0x0/0x50
      > [  113.922240]  [<c012efc0>] ? worker_thread+0x0/0xf0
      > [  113.922240]  [<c013280f>] ? kthread+0x3f/0x80
      > [  113.922240]  [<c01327d0>] ? kthread+0x0/0x80
      > [  113.922240]  [<c01040d7>] ? kernel_thread_helper+0x7/0x10
      > [  113.922240] Code: 43 54 89 73 54 39 c6 74 11 89 d9 ba 01 00 00 00 b8 40 68 aa df e8 3e 35 69 e0 89 f8 e8 77 fd 85 e0 31 c0 83 c4 10 5b 5e 5f 5d c3 <0f> 0b eb fe 89 f6 8d bc 27 00 00 00 00 be f4 4d aa df bb 5f 01
      > [  113.922240] EIP: [<dfaa4683>] rfkill_force_state+0x53/0x90 [rfkill] SS:ESP 0068:d8d7af24
      > [  113.924700] ---[ end trace 0e404eb40cadd5f0 ]---
      Signed-off-by: default avatarFrederik Deweerdt <frederik.deweerdt@gmail.com>
      Tested-by: default avatarAndrey Borzenkov <arvidjaar@mail.ru>
      Acked-by: default avatarLen Brown <len.brown@intel.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Acked-by: default avatarPhilip Langdale <philipl@overt.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      38aefbc5
    • Michael Halcrow's avatar
      eCryptfs: Update maintainers · 6dc7516e
      Michael Halcrow authored
      Tyler Hicks and Dustin Kirkland are now the primary contact points for
      eCryptfs issues that may arise from this point forward.
      Signed-off-by: default avatarMichael Halcrow <mhalcrow@us.ibm.com>
      Acked-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      Acked-by: default avatarDustin Kirkland <kirkland@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6dc7516e
    • Catalin Marinas's avatar
      slob: do not pass the SLAB flags as GFP in kmem_cache_create() · 5e18e2b8
      Catalin Marinas authored
      The kmem_cache_create() function in the slob allocator passes the SLAB
      flags as GFP flags to the slob_alloc() function.  The patch changes this
      call to pass GFP_KERNEL as the other allocators seem to do.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarMatt Mackall <mpm@selenic.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5e18e2b8
    • Mike Frysinger's avatar
      pcmcia: blackfin: fix bug - add missing ; to MODULE macro · 35024c38
      Mike Frysinger authored
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarMike Frysinger <vapier.adi@gmail.com>
      Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      35024c38
  4. 15 Dec, 2008 8 commits
  5. 14 Dec, 2008 3 commits
  6. 13 Dec, 2008 6 commits