1. 25 Aug, 2006 2 commits
  2. 24 Aug, 2006 1 commit
    • Adam Litke's avatar
      [POWERPC] hugepage BUG fix · c9169f87
      Adam Litke authored
      On Tue, 2006-08-15 at 08:22 -0700, Dave Hansen wrote:
      > kernel BUG in cache_free_debugcheck at mm/slab.c:2748!
      
      Alright, this one is only triggered when slab debugging is enabled.  The
      slabs are assumed to be aligned on a HUGEPTE_TABLE_SIZE boundary.  The free
      path makes use of this assumption and uses the lowest nibble to pass around
      an index into an array of kmem_cache pointers.  With slab debugging turned
      on, the slab is still aligned, but the "working" object pointer is not.
      This would break the assumption above that a full nibble is available for
      the PGF_CACHENUM_MASK.
      
      The following patch reduces PGF_CACHENUM_MASK to cover only the two least
      significant bits, which is enough to cover the current number of 4 pgtable
      cache types.  Then use this constant to mask out the appropriate part of
      the huge pte pointer.
      Signed-off-by: default avatarAdam Litke <agl@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c9169f87
  3. 23 Aug, 2006 11 commits
  4. 18 Aug, 2006 3 commits
  5. 17 Aug, 2006 8 commits
  6. 08 Aug, 2006 2 commits
    • Haren Myneni's avatar
      [POWERPC] Fix might-sleep warning on removing cpus · 81b73dd9
      Haren Myneni authored
      Noticing the following might_sleep warning (dump_stack()) during kdump
      testing when CONFIG_DEBUG_SPINLOCK_SLEEP is enabled. All secondary CPUs
      will be calling rtas_set_indicator with interrupts disabled to remove
      them from global interrupt queue.
      
      BUG: sleeping function called from invalid context at
      arch/powerpc/kernel/rtas.c:463
      in_atomic():1, irqs_disabled():1
      Call Trace:
      [C00000000FFFB970] [C000000000010234] .show_stack+0x68/0x1b0 (unreliable)
      [C00000000FFFBA10] [C000000000059354] .__might_sleep+0xd8/0xf4
      [C00000000FFFBA90] [C00000000001D1BC] .rtas_busy_delay+0x20/0x5c
      [C00000000FFFBB20] [C00000000001D8A8] .rtas_set_indicator+0x6c/0xcc
      [C00000000FFFBBC0] [C000000000048BF4] .xics_teardown_cpu+0x118/0x134
      [C00000000FFFBC40] [C00000000004539C]
      .pseries_kexec_cpu_down_xics+0x74/0x8c
      [C00000000FFFBCC0] [C00000000002DF08] .crash_ipi_callback+0x15c/0x188
      [C00000000FFFBD50] [C0000000000296EC] .smp_message_recv+0x84/0xdc
      [C00000000FFFBDC0] [C000000000048E08] .xics_ipi_dispatch+0xf0/0x130
      [C00000000FFFBE50] [C00000000009EF10] .handle_IRQ_event+0x7c/0xf8
      [C00000000FFFBF00] [C0000000000A0A14] .handle_percpu_irq+0x90/0x10c
      [C00000000FFFBF90] [C00000000002659C] .call_handle_irq+0x1c/0x2c
      [C00000000058B9C0] [C00000000000CA10] .do_IRQ+0xf4/0x1a4
      [C00000000058BA50] [C0000000000044EC] hardware_interrupt_entry+0xc/0x10
       --- Exception: 501 at .plpar_hcall_norets+0x14/0x1c
         LR = .pseries_dedicated_idle_sleep+0x190/0x1d4
      [C00000000058BD40] [C00000000058BDE0] 0xc00000000058bde0 (unreliable)
      [C00000000058BDF0] [C00000000001270C] .cpu_idle+0x10c/0x1e0
      [C00000000058BE70] [C000000000009274] .rest_init+0x44/0x5c
      
      To fix this issue, rtas_set_indicator_fast() is added so that will not
      wait for RTAS 'busy' delay and this new function is used for kdump (in
      xics_teardown_cpu()) and for CPU hotplug ( xics_migrate_irqs_away() and
      xics_setup_cpu()).
      
      Note that the platform architecture spec says that set-indicator
      on the indicator we're using here is not permitted to return the
      busy or extended busy status codes.
      Signed-off-by: default avatarHaren Myneni <haren@us.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      81b73dd9
    • Sonny Rao's avatar
      [POWERPC] fix PMU initialization on pseries lpar · dcc42f48
      Sonny Rao authored
      We should not be calling power4_enable_pmcs() in
      pseries_lpar_enable_pmcs(); just doing the hypercall is sufficient.
      Prior to 2.6.15 we did not call power4_enable_pmcs() for an lpar.
      
      power4_enable_pmcs() tries to read the hid0 register which is no
      longer legal for an lpar in newer Power processors.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      dcc42f48
  7. 06 Aug, 2006 13 commits
    • Linus Torvalds's avatar
      Linux v2.6.18-rc4 · 9f737633
      Linus Torvalds authored
      9f737633
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input · 6e1e6325
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (24 commits)
        Input: ati_remote - use msec instead of jiffies
        Input: ati_remote - add missing input_sync()
        Input: ati_remote - relax permissions sysfs module parameters
        Input: ati_remote - make filter time a module parameter
        Input: atkbd - restore repeat rate when resuming
        Input: trackpoint - activate protocol when resuming
        Input: logips2pp - fix button mapping for MX300
        Input: keyboard - change to use kzalloc
        Input: serio/gameport - check whether driver core calls succeeded
        Input: spaceball - make 4000FLX Lefty work
        Input: keyboard - simplify emulate_raw() implementation
        Input: keyboard - remove static variable and clean up initialization
        Input: hiddev - use standard list implementation
        Input: add missing handler->start() call
        Input: HID - fix potential out-of-bound array access
        Input: fix list iteration in input_release_device()
        Input: iforce - add Trust Force Feedback Race Master support
        Input: iforce - check array bounds before accessing elements
        Input: libps2 - warn instead of oopsing when passed bad arguments
        Input: fm801-gp - fix use after free
        ...
      6e1e6325
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa · a05ef8bf
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
        [ALSA] Don't reject O_RDWR at opening PCM OSS with read/write-only device
        [ALSA] snd-emu10k1: Implement support for Audigy 2 ZS [SB0353]
        [ALSA] add MAINTAINERS entry for snd-aoa
        [ALSA] aoa: platform function gpio: ignore errors from functions that don't exist
        [ALSA] make snd-powermac load even when it can't bind the device
        [ALSA] aoa: fix toonie codec
        [ALSA] aoa: feature gpio layer: fix IRQ access
        [ALSA] Conversions from kmalloc+memset to k(z|c)alloc
        [ALSA] snd-emu10k1: Fixes ALSA bug#2190
      a05ef8bf
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · cb3f1e7b
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [LAPB]: Fix windowsize check
        [TCP]: Fixes IW > 2 cases when TCP is application limited
        [PKT_SCHED] RED: Fix overflow in calculation of queue average
        [LLX]: SOCK_DGRAM interface fixes
        [PKT_SCHED]: Return ENOENT if qdisc module is unavailable
        [BRIDGE]: netlink status fix
      cb3f1e7b
    • David Woodhouse's avatar
      [PATCH] SCX200_ACB: eliminate spurious timeout errors · 3e3183ba
      David Woodhouse authored
      While busy-waiting for completion, check the hardware after scheduling;
      don't schedule and then immediately check the _timeout_.  If the yield()
      took a long time (as it does on my OLPC prototype board when it's busy),
      we'd report a timeout even though the hardware was now ready.
      
      This fixes it, and also switches the yield() for a cond_resched() because
      we don't actually want to be _that_ nice about it.  I see nice
      tightly-packed SMBus transactions now, rather than waiting for milliseconds
      between successive phases.
      
      Actually, we shouldn't be busy-waiting here at all.  We should be using
      interrupts.  That's an exercise for another day though.
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Cc: Christer Weinigel <wingel@nano-system.com>
      Cc: <Jordan.Crouse@amd.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3e3183ba
    • Eric Sandeen's avatar
      [PATCH] udf: initialize parts of inode earlier in create · 225add61
      Eric Sandeen authored
      I saw an oops down this path when trying to create a new file on a UDF
      filesystem which was internally marked as readonly, but mounted rw:
      
      udf_create
              udf_new_inode
                      new_inode
                              alloc_inode
                              	udf_alloc_inode
                      udf_new_block
                              returns EIO due to readonlyness
                      iput (on error)
                              udf_put_inode
                                      udf_discard_prealloc
                                              udf_next_aext
                                                      udf_current_aext
                                                              udf_get_fileshortad
                                                                      OOPS
      
      the udf_discard_prealloc() path was examining uninitialized fields of the
      udf inode.
      
      udf_discard_prealloc() already has this code to short-circuit the discard
      path if no extents are preallocated:
      
              if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB ||
                      inode->i_size == UDF_I_LENEXTENTS(inode))
              {
                      return;
              }
      
      so if we initialize UDF_I_LENEXTENTS(inode) = 0 earlier in udf_new_inode,
      we won't try to free the (not) preallocated blocks, since this will match
      the i_size = 0 set when the inode was initialized.
      Signed-off-by: default avatarEric Sandeen <sandeen@sandeen.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      225add61
    • Thomas Gleixner's avatar
      [PATCH] futex: Apply recent futex fixes to futex_compat · ce2c6b53
      Thomas Gleixner authored
      The recent fixups in futex.c need to be applied to futex_compat.c too.  Fixes
      a hang reported by Olaf.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Olaf Hering <olh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ce2c6b53
    • matthieu castet's avatar
      [PATCH] pnpacpi: reject ACPI_PRODUCER resources · 2b8de5f5
      matthieu castet authored
      A patch in -mm kernel correct the parsing of "address resources" of pnpacpi.
      Before we assumed it was memory only, but it could be also IO.
      
      But this change show an hidden bug : some resources could be producer type
      that are not handled by pnp layer.  So we should ignore the producer
      resources.
      
      This patch fixes bug 6292 (http://bugzilla.kernel.org/show_bug.cgi?id=6292).
      Some devices like PNP0A03 have 0xd00-0xffff and 0x0-0xcf7 as IO producer
      resources.
      
      Before correcting "address resources" parsing, it was seen as memory and was
      harmless, because nobody tried to reserve this memory range as it should be
      IO.
      
      With the correction it become IO resources, and make failed all others device
      that want to register IO in this range and use pnp layer (like a ISA sound
      card).
      
      The solution is to ignore producer resources
      Signed-off-by: default avatarMatthieu CASTET <castet.matthieu@free.fr>
      Signed-off-by: default avatarUwe Bugla <uwe.bugla@gmx.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Acked-by: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      2b8de5f5
    • Chris Mason's avatar
      [PATCH] reiserfs_write_full_page() should not get_block past eof · b4c76fa7
      Chris Mason authored
      reiserfs_write_full_page does zero bytes in the file past eof, but it may
      call get_block on those buffers as well.  On machines where the page size
      is larger than the blocksize, this can result in mmaped files incorrectly
      growing up to a block boundary during writepage.
      
      The fix is to avoid calling get_block for any blocks that are entirely past
      eof
      Signed-off-by: default avatarChris Mason <mason@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b4c76fa7
    • Chris Mason's avatar
      [PATCH] fix reiserfs lock inversion of bkl vs inode semaphore · b5f3953c
      Chris Mason authored
      The correct lock ordering is inode lock -> BKL
      Signed-off-by: default avatarChris Mason <mason@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b5f3953c
    • KAMEZAWA Hiroyuki's avatar
      [PATCH] memory hotadd fixes: enhance collision check · ebd15302
      KAMEZAWA Hiroyuki authored
      This patch is for collision check enhancement for memory hot add.
      
      It's better to do resouce collision check before doing memory hot add,
      which will touch memory management structures.
      
      And add_section() should check section exists or not before calling
      sparse_add_one_section(). (sparse_add_one_section() will do another
      check anyway. but checking in memory_hotplug.c will be easy to understand.)
      Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: keith mannthey <kmannth@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ebd15302
    • KAMEZAWA Hiroyuki's avatar
      [PATCH] memory hotadd fixes: avoid registering res twice · 5d2870fa
      KAMEZAWA Hiroyuki authored
      both of acpi_memory_enable_device() and acpi_memory_add_device() may evaluate
      _CRS method.
      
      We should avoid evaluate device's resource twice if we could get it
      successfully in past.
      Signed-off-by: default avatarKAMEZWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Keith Mannthey <kmannth@gmail.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5d2870fa
    • KAMEZAWA Hiroyuki's avatar
      [PATCH] memory hotadd fixes: avoid check in acpi · fa25d8d6
      KAMEZAWA Hiroyuki authored
      add_memory() does all necessary check to avoid collision.  then, acpi layer
      doesn't have to check region by itself.
      
      (*) pfn_valid() just returns page struct is valid or not. It returns 0
          if a section has been already added even is ioresource is not added.
          ioresource collision check in mm/memory_hotplug.c can do more precise
          collistion check.
          added enabled bit check just for sanity check..
      Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Keith Mannthey <kmannth@gmail.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fa25d8d6