commit e1441b9a41c33aa9236008a7cfe49a8e723fb397
Merge: 70c8505... 656acd2...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jun 30 08:58:09 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: fix locking in force-feedback core
      Input: add KEY_MEDIA_REPEAT definition

commit 70c85057e0bde35eb56352a293ecb5d1641a0334
Merge: e6100f2... d7ee560...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jun 30 08:57:43 2008 -0700

    Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      debugobjects: fix lockdep warning

commit e6100f23375c0c71ce595d04551fa6553b611918
Merge: bbad5d4... 79c5379...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jun 30 08:57:19 2008 -0700

    Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      sched: fix cpu hotplug

commit bbad5d4750ab3b44a196f9bdd982972e41b7e520
Merge: 1702b52... 11dbc96...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jun 30 08:56:57 2008 -0700

    Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      ptrace GET/SET FPXREGS broken
      x86: fix cpu hotplug crash
      x86: section/warning fixes
      x86: shift bits the right way in native_read_tscp

commit 656acd2bbc4ce7f224de499ee255698701396c48
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Jun 26 11:30:02 2008 -0400

    Input: fix locking in force-feedback core
    
    The newly added event_lock spinlock in the input core disallows sleeping
    and therefore using mutexes in event handlers. Convert force-feedback
    core to rely on event_lock instead of mutex to protect slots allocated
    for fore-feedback effects. The original mutex is still used to serialize
    uploading and erasing of effects.
    
    Reported-by: Anssi Hannula <anssi.hannula@gmail.com>
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

commit 4bbff7e408a54cce88d26191191e8bcda2a60d55
Author: Bastien Nocera <hadess@hadess.net>
Date:   Thu Jun 26 09:13:48 2008 -0400

    Input: add KEY_MEDIA_REPEAT definition
    
    This patch adds the Repeat key to the input layer. The usage
    in the HUT is 0xBC (listed under "15.7 Transport Controls").
    
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

commit 11dbc963a8f6128595d0f6ecf138dc369e144997
Author: TAKADA Yoshihito <takada@mbf.nifty.com>
Date:   Mon Jun 30 13:44:45 2008 +0900

    ptrace GET/SET FPXREGS broken
    
    When I update kernel 2.6.25 from 2.6.24, gdb does not work.
    On 2.6.25, ptrace(PTRACE_GETFPXREGS, ...) returns ENODEV.
    
    But 2.6.24 kernel's ptrace() returns EIO.
    It is issue of compatibility.
    
    I attached test program as pt.c and patch for fix it.
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <signal.h>
    #include <errno.h>
    #include <sys/ptrace.h>
    #include <sys/types.h>
    
    struct user_fxsr_struct {
    	unsigned short	cwd;
    	unsigned short	swd;
    	unsigned short	twd;
    	unsigned short	fop;
    	long	fip;
    	long	fcs;
    	long	foo;
    	long	fos;
    	long	mxcsr;
    	long	reserved;
    	long	st_space[32];	/* 8*16 bytes for each FP-reg = 128 bytes */
    	long	xmm_space[32];	/* 8*16 bytes for each XMM-reg = 128 bytes */
    	long	padding[56];
    };
    
    int main(void)
    {
      pid_t pid;
    
      pid = fork();
    
      switch(pid){
      case -1:/*  error */
        break;
      case 0:/*  child */
        child();
        break;
      default:
        parent(pid);
        break;
      }
      return 0;
    }
    
    int child(void)
    {
      ptrace(PTRACE_TRACEME);
      kill(getpid(), SIGSTOP);
      sleep(10);
      return 0;
    }
    int parent(pid_t pid)
    {
      int ret;
      struct user_fxsr_struct fpxregs;
    
      ret = ptrace(PTRACE_GETFPXREGS, pid, 0, &fpxregs);
      if(ret < 0){
        printf("%d: %s.\n", errno, strerror(errno));
      }
      kill(pid, SIGCONT);
      wait(pid);
      return 0;
    }
    
    /* in the kerel, at kernel/i387.c get_fpxregs() */
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit fcb43042ef55d2f46b0efa5d7746967cef38f056
Author: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
Date:   Tue Jun 24 16:06:23 2008 +0800

    x86: fix cpu hotplug crash
    
    Vegard Nossum reported crashes during cpu hotplug tests:
    
      http://marc.info/?l=linux-kernel&m=121413950227884&w=4
    
    In function _cpu_up, the panic happens when calling
    __raw_notifier_call_chain at the second time. Kernel doesn't panic when
    calling it at the first time. If just say because of nr_cpu_ids, that's
    not right.
    
    By checking the source code, I found that function do_boot_cpu is the culprit.
    Consider below call chain:
     _cpu_up=>__cpu_up=>smp_ops.cpu_up=>native_cpu_up=>do_boot_cpu.
    
    So do_boot_cpu is called in the end. In do_boot_cpu, if
    boot_error==true, cpu_clear(cpu, cpu_possible_map) is executed. So later
    on, when _cpu_up calls __raw_notifier_call_chain at the second time to
    report CPU_UP_CANCELED, because this cpu is already cleared from
    cpu_possible_map, get_cpu_sysdev returns NULL.
    
    Many resources are related to cpu_possible_map, so it's better not to
    change it.
    
    Below patch against 2.6.26-rc7 fixes it by removing the bit clearing in
    cpu_possible_map.
    
    Signed-off-by: Zhang Yanmin <yanmin_zhang@linux.intel.com>
    Tested-by: Vegard Nossum <vegard.nossum@gmail.com>
    Acked-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 1702b52092e9a6d05398d3f9581ddc050ef00d06
Merge: 0acbbee... a178987...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:22:55 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (42 commits)
      V4L/DVB (8108): Fix open/close race in saa7134
      V4L/DVB (8100): V4L/vivi: fix possible memory leak in vivi_fillbuff
      V4L/DVB (8097): xc5000: check device hardware state to determine if firmware download is needed
      V4L/DVB (8096): au8522: prevent false-positive lock status
      V4L/DVB (8092): videodev: simplify and fix standard enumeration
      V4L/DVB (8075): stv0299: Uncorrected block count and bit error rate fixed
      V4L/DVB (8074): av7110: OSD transfers should not be interrupted
      V4L/DVB (8073): av7110: Catch another type of ARM crash
      V4L/DVB (8071): tda10023: Fix possible kernel oops during initialisation
      V4L/DVB (8069): cx18: Fix S-Video and Compsite inputs for the Yuan MPC718 and enable card entry
      V4L/DVB (8068): cx18: Add I2C slave reset via GPIO upon initialization
      V4L/DVB (8067): cx18: Fix firmware load for case when digital capture happens first
      V4L/DVB (8066): cx18: Fix audio mux input definitions for HVR-1600 Line In 2 and FM radio
      V4L/DVB (8063): cx18: Fix unintended auto configurations in cx18-av-core
      V4L/DVB (8061): cx18: only select tuner / frontend modules if !DVB_FE_CUSTOMISE
      V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506
      V4L/DVB (8044): au8522: tuning optimizations
      V4L/DVB (8043): au0828: add support for additional USB device id's
      V4L/DVB (8042): DVB-USB UMT-010 channel scan oops
      V4L/DVB (8040): soc-camera: remove soc_camera_host_class class
      ...

commit 0acbbee440fadf45164cc9537ee7d528d045f2d6
Merge: 535e49f... c4e6a2e...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:22:30 2008 -0700

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
      dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled.
      ACPI: don't walk tables if ACPI was disabled
      thermal: Create CONFIG_THERMAL_HWMON=n

commit 535e49f48e2fc95a6de8efb366ca8af35d424642
Merge: 0b20715... b660398...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:21:02 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
      kbuild: fix a.out.h export to userspace with O= build.

commit 0b20715f3f83141ab5a2bb14b844b7c3c8bcf1aa
Merge: 7476064... 0e3e2ea...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:20:11 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
      firewire: fw-sbp2: fix parsing of logical unit directories

commit 747606464bc1eb1a2c3588b3b06ef7538f12deac
Merge: f72e9df... 19fd426...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:19:02 2008 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:
      udf: Fix regression in UDF anchor block detection

commit f72e9df0e04c0ea7b5c97e6db5b114234bf3c36f
Author: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Date:   Thu Jun 26 10:54:34 2008 +0300

    Fix and clean top .gitignore
    
    Removed vmlinux* rule because it matches too many useful files, replacing
    it with rules matching filetype by filename (e.g. *.gz). Also unignored
    .mailmap from the top directory. Added a comment telling the user how to
    check for tracked files being ignored.
    
    Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit db6c24fdf19bd7ee25c86ddd8021ec648b76d5ae
Merge: a4480ac... 8d0a600...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:16:07 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
      Blackfin arch: fix up section mismatch warning
      Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock debugging enabled

commit a4480ac4f966384f9d2db98bffec223e4eaf6150
Merge: 4f46acc... d8de724...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:15:10 2008 -0700

    Merge branch 'audit.b52' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current
    
    * 'audit.b52' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
      [PATCH] remove useless argument type in audit_filter_user()
      [PATCH] audit: fix kernel-doc parameter notation
      [PATCH] kernel/audit.c: nlh->nlmsg_type is gotten more than once

commit 4f46accee45d74a408e417c04c0ed1543a7c51e9
Merge: 543cf4c... cdd16d0...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jun 29 12:14:37 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
      [patch 2/3] vfs: dcache cleanups
      [patch 1/3] vfs: dcache sparse fixes
      [patch 3/3] vfs: make d_path() consistent across mount operations
      [patch 4/4] flock: remove unused fields from file_lock_operations
      [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink
      [patch 2/4] fs: make struct file arg to d_path const
      [patch 1/4] vfs: path_{get,put}() cleanups
      [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens()
      [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case
      [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec == UTIME_OMIT or UTIME_NOW
      [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for immutable and append-only files
      [PATCH] fix cgroup-inflicted breakage in block_dev.c

commit 79c537998d143b127c8c662a403c3356cb885f1c
Author: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Date:   Sun Jun 29 00:16:56 2008 +0200

    sched: fix cpu hotplug
    
    the CPU hotplug problems (crashes under high-volume unplug+replug
    tests) seem to be related to migrate_dead_tasks().
    
    Firstly I added traces to see all tasks being migrated with
    migrate_live_tasks() and migrate_dead_tasks(). On my setup the problem
    pops up (the one with "se == NULL" in the loop of
    pick_next_task_fair()) shortly after the traces indicate that some has
    been migrated with migrate_dead_tasks()). btw., I can reproduce it
    much faster now with just a plain cpu down/up loop.
    
    [disclaimer] Well, unless I'm really missing something important in
    this late hour [/desclaimer] pick_next_task() is not something
    appropriate for migrate_dead_tasks() :-)
    
    the following change seems to eliminate the problem on my setup
    (although, I kept it running only for a few minutes to get a few
    messages indicating migrate_dead_tasks() does move tasks and the
    system is still ok)
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit b660398101cd0622325480a67ac88bb4d33d553a
Author: David Woodhouse <david.woodhouse@intel.com>
Date:   Fri Jun 27 14:39:42 2008 +0100

    kbuild: fix a.out.h export to userspace with O= build.
    
    We need to check for existence of the a.out.h header in the source tree,
    not the object tree, if we want it to get the right answer with O=.
    
    Signed-off-by: David Woodhouse <david.woodhouse@intel.com>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit 0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554
Author: Richard Sharpe <realrichardsharpe@gmail.com>
Date:   Tue Jun 24 19:11:13 2008 -0700

    firewire: fw-sbp2: fix parsing of logical unit directories
    
    There is a small off-by-one bug in firewire-sbp2. This causes problems
    when a device exports multiple LUN Directories. I found it when trying
    to talk to a SONY DVD Jukebox.
    
    Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
    Acked-by: Kristian Høgsberg <krh@redhat.com>
    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (op. order, changelog)

commit d7ee56059b335e27c3c6db34f7efe5a705d65b1c
Merge: 1b7558e... 50db04d...
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jun 27 10:36:21 2008 +0200

    Merge branch 'core/debugobjects' into core/urgent

commit a17898737eaed4ef41f273da7b830c632e06613e
Author: Arjan van de Ven <arjan@linux.intel.com>
Date:   Sun Jun 22 17:03:02 2008 -0300

    V4L/DVB (8108): Fix open/close race in saa7134
    
    The saa7134 driver uses a (non-atomic) variable in an attempt to
    only allow one opener of the device (how it deals with sending
    the fd over unix sockets I don't know).
    
    Unfortunately, the release function first decrements this variable,
    and THEN goes on to disable more of the device. This allows for
    a race where another opener of the device comes in after the decrement of
    the variable, configures the hardware just to then see the hardware
    be disabled by the rest of the release function.
    
    This patch makes the release function use the same lock as the open
    function to protect the hardware as well as the variable (which now
    at least has some locking to protect it).
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 5c554e6b984ce6b36488b93a7ec8e2752233e7cb
Author: Marcin Slusarz <marcin.slusarz@gmail.com>
Date:   Sun Jun 22 09:11:40 2008 -0300

    V4L/DVB (8100): V4L/vivi: fix possible memory leak in vivi_fillbuff
    
    Move allocation after first check and fix memory leak.
    
    Noticed-by: Daniel Marjamäki <danielm77@spray.se>
    
    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit e470d8177ed6ae56f4310ce793a57bcb2fed1749
Author: Steven Toth <stoth@linuxtv.org>
Date:   Sat Jun 21 21:06:02 2008 -0300

    V4L/DVB (8097): xc5000: check device hardware state to determine if firmware download is needed
    
    This patch ensures that the xc5000 will have firmware loaded as needed if the
    part is powered down or reset via gpio from the host. An example of this, in
    some cases, could be after the system resumes from standby or hibernate modes.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 836c28584d4629fdc85365f083b84e1298e14312
Author: Steven Toth <stoth@linuxtv.org>
Date:   Sat Jun 21 19:32:41 2008 -0300

    V4L/DVB (8096): au8522: prevent false-positive lock status
    
    This decreases scan time in Queens, New York from 28 minutes to 7 minutes,
    with the exact same services found.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 7fa8e6fa1519194fc0c931f40d530fb55137bad9
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Sat Jun 21 13:23:27 2008 -0300

    V4L/DVB (8092): videodev: simplify and fix standard enumeration
    
    VIDIOC_ENUMSTD did not return all the PAL/SECAM/NTSC variants: it just returned
    one single PAL/SECAM/NTSC standard without separate entries for the trickier
    standards like NTSC-JP.
    
    Changed the code so that it behaves better.
    
    Also simplified the if/switch statements into a common standards lookup table.
    
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 7876ad75b1a3b7dc3d5d765d0be086d89fd2e663
Author: Oliver Endriss <o.endriss@gmx.de>
Date:   Thu Jun 19 23:25:04 2008 -0300

    V4L/DVB (8075): stv0299: Uncorrected block count and bit error rate fixed
    
    Fix uncorrected block counter and bit error rate to follow DVB API spec:
    - Unsupported controls return -ENOSYS.
    - UNC must never be set to 0.
    
    Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 0b915e74ac10b65da930aa430837d4338f5deb65
Author: Oliver Endriss <o.endriss@gmx.de>
Date:   Thu Jun 19 23:10:14 2008 -0300

    V4L/DVB (8074): av7110: OSD transfers should not be interrupted
    
    OSD transfers should not be interrupted.
    
    Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit edabaffc7e7fccdeadac6273704102adc2b604ae
Author: Oliver Endriss <o.endriss@gmx.de>
Date:   Thu Jun 19 23:04:27 2008 -0300

    V4L/DVB (8073): av7110: Catch another type of ARM crash
    
    Catch another type of ARM crash.
    
    Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit c9fa2b1eee9d10c2455d3cd148cf13b34d91bdef
Author: Oliver Endriss <o.endriss@gmx.de>
Date:   Thu Jun 19 22:45:55 2008 -0300

    V4L/DVB (8071): tda10023: Fix possible kernel oops during initialisation
    
    If the i2c write fails during initialisation, an oops happens
    because state->frontend.dvb is still undefined. Fixed.
    
    Thanks to Sigmund Augdal for reporting this bug,
    and to Hartmut Birr for suggesting the fix.
    
    Thanks-to: Sigmund Augdal <sigmund@snap.tv>
    Thanks-to: Hartmut Birr <e9hack@gmail.com>
    
    Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit ad907fa39517ca35b46912fbfe2b77cd89e1d56a
Author: Andy Walls <awalls@radix.net>
Date:   Sun Jun 22 02:00:09 2008 -0300

    V4L/DVB (8069): cx18: Fix S-Video and Compsite inputs for the Yuan MPC718 and enable card entry
    
    cx18: Fix S-Video and Compsite input settings for the Yuan MPC718 per user
    reports from Yuri Warczynski <Yuri.Warczynski@gmail.com> and
    Brian Hope <brian@hopefamily.info> and enable the card entry.  The tuner reset
    GPIO pin is likely incorrect as the tuner firmware cannot be reloaded without a
    reboot.  It is likely the audio routing is done via GPIO which is not
    implemented yet, as users report audio doesn't work for some inputs.
    
    Signed-off-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 1f09e8a25c9aaa4066b4593c1bf99a4cbcc38120
Author: Andy Walls <awalls@radix.net>
Date:   Sun Jun 22 01:27:00 2008 -0300

    V4L/DVB (8068): cx18: Add I2C slave reset via GPIO upon initialization
    
    cx18: Add I2C slave reset via GPIO upon initialization.  One user,
    Michael <msd4824@yahoo.com>, has reported this allows his HVR-1600 EEPROM to
    be consistently recognized when using (long,) 100 msec delays.   The delays in
    this commit are nominal (10 & 40 msec) and need testing/tuning on boards with
    I2C problems to find the right values.
    
    Signed-off-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 08cf7b2ed172cc83f3d2f44b712b3d54e6cc4ae6
Author: Andy Walls <awalls@radix.net>
Date:   Sun Jun 22 00:04:21 2008 -0300

    V4L/DVB (8067): cx18: Fix firmware load for case when digital capture happens first
    
    This is a fix for the case when a digital capture from dvr0 happens first after
    modprobe, before access to any cx18 v4l2 device nodes.  The initial dvb feed
    start has been changed to load the firmware if not already loaded.  Also fixed a
    use counter to correct dvb feed accounting if starting the transport DMA fails.
    
    Signed-off-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 46195b555aa3edd265b4e765e4edff59b253b55e
Author: Andy Walls <awalls@radix.net>
Date:   Thu Jun 19 23:17:05 2008 -0300

    V4L/DVB (8066): cx18: Fix audio mux input definitions for HVR-1600 Line In 2 and FM radio
    
    Fix the cx18-cards.c structures for the HVR-1600 to reflect that audio Line In 2
    and FM radio audio go to AIN3 and AIN4 of the CS5345 mux respectively.  Verified
    by physical inspection of an HVR-1600MCE, by listening to FM broadcasts with the
    HVR-1600MCE, and by comparing with the card definition for a PVR-150 in ivtv.
    
    Signed-off-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 527629fb7c35ad93389ab132823d19139dd88e70
Author: Andy Walls <awalls@radix.net>
Date:   Sat Jun 14 03:58:08 2008 -0300

    V4L/DVB (8063): cx18: Fix unintended auto configurations in cx18-av-core
    
    Change the cx18-av-core code so that accesses to cx23418 av core that
    cause auto-configuration will be adjusted to emulate the auto-configuration
    behavior of the cx25843.  This fixes the VBI displayed as video at the top of
    the frame for NTSC and probably other things.
    
    Signed-off-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit beb31e636501f39e853ac5d0ffd3fbb910d19d5c
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Tue Jun 17 17:37:51 2008 -0300

    V4L/DVB (8061): cx18: only select tuner / frontend modules if !DVB_FE_CUSTOMISE
    
    The automatic Kconfig selection for tuners and frontends should be
    conditional, based on !DVB_FE_CUSTOMISE.
    
    This patch corrects the selection for VIDEO_CX18 on
    MEDIA_TUNER_MXL5005S and DVB_S5H1409
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 6e501a3f4a7259b1c04aa6cbdfe64376afc9f59c
Author: Tim Farrington <timf@iinet.net.au>
Date:   Sun Jun 15 13:33:42 2008 -0300

    V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506
    
    Also, adds IR table for Avermedia A16d
    
    Signed-off-by: Tim Farrington <timf@iinet.net.au>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 74d50724a02d7cdc7f7887411518ec43d0251b97
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Fri Jun 13 20:33:23 2008 -0300

    V4L/DVB (8044): au8522: tuning optimizations
    
    If the current modulation and frequency is already set to
    the desired parameters, then don't re-tune.
    
    Don't store current frequency until after we've tuned successfully.
    
    Force a re-tune after resume from standby.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 104fe9a2d2a56f25fb95800a7ab0f7600dd6879c
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Fri Jun 13 03:29:43 2008 -0300

    V4L/DVB (8043): au0828: add support for additional USB device id's
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 3b9408870757bd9e07fd03ac6318258f22b8dfa3
Author: Austin Lund <austin.lund@gmail.com>
Date:   Fri Jun 13 11:02:43 2008 -0300

    V4L/DVB (8042): DVB-USB UMT-010 channel scan oops
    
    In the umt-010 driver the struct umt_properties sets the number of URBs for
    transfer to 20.  But in dvb-usb.h MAX_NO_URBS_FOR_DATA_STREAM is set to 10.
    
    Not surprisingly this causes an oops for all devices which use the umt-010
    chipset when they are inserted.
    
    fix on Kaffeine channel scan for
    
    Initialize stream count using MAX_NO_URBS_FOR_DATA_STREAM.
    
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Signed-off-by: maximilian attems <max@stro.at>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 3cfdc7f25b3116d57e91427caada74dd69bfbc06
Author: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Date:   Fri Jun 13 09:11:01 2008 -0300

    V4L/DVB (8040): soc-camera: remove soc_camera_host_class class
    
    Devices can either be class devices or bus devices, not both at the
    same time. Soc-camera host devices usually have a platform device as
    their parent. Trying to also register them with a class crashes the
    kernel, when linked statically. Interestingly, it works when built
    as a module. Thanks to Paulius Zaleckas for reporting.
    
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 02da465945ae0a277aadf2bf37965a9e6c28f8c3
Author: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Date:   Fri Jun 13 09:03:45 2008 -0300

    V4L/DVB (8039): pxa-camera: fix platform_get_irq() error handling.
    
    platform_get_irq() returns a negative value on error, not 0.
    
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 7ae1ac4c1db5a3647604acb00d736f17af6999b7
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Wed Jun 11 13:52:49 2008 -0300

    V4L/DVB (8037): tda18271: ensure that the thermometer is off during channel configuration
    
    Having the thermometer on during channel configuration
    could cause tuning instability.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 51858d13612a06494beb08616f8a93bdb2688e4c
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Mon Jun 9 02:03:31 2008 -0300

    V4L/DVB (8036): tda18271: toggle rf agc speed mode on TDA18271HD/C2 only
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 119a7c7e34b5e5fa65051960ca05000a19dbce85
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Sun Jun 8 22:12:37 2008 -0300

    V4L/DVB (8035): tda18271: dont touch EB14 if rf_cal lookup is out of range
    
    The TDA18271HD/C1 rf_cal map lookup is expected to go out of range outside
    of the frequency window 41 MHz - 61.1 MHz.  In these cases, the internal
    RF tracking filters calibration mechanism is used.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 44e645c20304bbe0a72cb994d9baf4b5727d7cec
Author: Michael Krufky <mkrufky@linuxtv.org>
Date:   Sun Jun 8 20:10:29 2008 -0300

    V4L/DVB (8034): tda18271: fix IF notch frequency handling
    
    The IF notch bit gets unset when we update the Main Post Div register
    value, before we have a chance to write the desired IF notch setting
    to the tuner.  Move the IF notch configuration to after we update MPD.
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 0e7830b50b20fcc25f21f79b7734102284d7c8f9
Author: Mauro Carvalho Chehab <mchehab@infradead.org>
Date:   Sat Jun 14 11:27:34 2008 -0300

    V4L/DVB (8029): Improve error message at tda1004x_attach
    
    When an error occurs at firmware loading, sometimes, tda1004x stops answering.
    Instead of reporting such error, attach code were assuming that the device were
    answering an invalid ID (0xff). This can be seen when enabling debug options:
    
    tda1004x: tda1004x_read_byte: reg=0x0
    tda1004x: tda1004x_read_byte: error reg=0x0, ret=-5
    
    Now, instead of reporting an invalid ID, it will report the correct error:
    
    tda10046: chip is not answering. Giving up.
    saa7133[0]/dvb: failed to attach tda10046
    saa7133[0]/dvb: frontend initialization failed
    
    A possible improvement would be trying to reset the device.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit bc36ec746409e4e4719b94a86dc0d8cbeb6f439f
Author: Mauro Carvalho Chehab <mchehab@infradead.org>
Date:   Sat Jun 14 10:44:04 2008 -0300

    V4L/DVB (8028): Improve error messages for tda1004x attach
    
    A fresh copy of v.29 firmware, using get_firmware, is leading to an invalid
    firmware:
    
    DVB: registering new adapter (saa7133[0])
    DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
    tda1004x: setting up plls for 48MHz sampling clock
    tda1004x: found firmware revision ff -- invalid
    tda1004x: trying to boot from eeprom
    tda1004x: found firmware revision ff -- invalid
    tda1004x: waiting for firmware upload...
    tda1004x: Error during firmware upload
    tda1004x: found firmware revision ff -- invalid
    tda1004x: firmware upload failed
    
    Sometimes, loading/unloading this firmware makes tda1004x to return an invalid
    ID. However, there were no printk messages to help to identify what were the
    cause for the error.
    
    With this patch, it will now print:
    
    Invalid tda1004x ID = 0xff. Can't proceed
    saa7133[0]/dvb: failed to attach tda10046
    saa7133[0]/dvb: frontend initialization failed
    
    Tested with LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit b25fed115a8bd8d39d14ce0d03e808272a401d67
Author: Matthias Schwarzott <zzam@gentoo.org>
Date:   Fri Jun 13 19:28:17 2008 -0300

    V4L/DVB (8027): saa7134: Avermedia A700: only s-video and composite input are working
    
    Describe exactly that only s-video and composite input are working on Avermedia
    A700
    
    Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 83ee87a31dc43a5fd6dee3562c146033c3a4cb39
Author: Mauro Carvalho Chehab <mchehab@infradead.org>
Date:   Sat Jun 14 09:41:18 2008 -0300

    V4L/DVB (8026): Avoids an OOPS if dev struct can't be successfully recovered
    
    On some alsa versions, it seems that snd_pcm_substream_chip(substream)
    is returning a NULL pointer. This causes an OOPS, as reported by:
    
    https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/212271
    https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/212960
    
    This patch avoids the OOPS by not letting and open() succeed.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 913f5fc209247b607b1994a710315966f4f9d358
Author: Marcin Slusarz <marcin.slusarz@gmail.com>
Date:   Tue Jun 10 15:18:16 2008 -0300

    V4L/DVB (8022): saa7134: fix race between opening and closing the device
    
    decrementing dev->empress_users should be done as last action of ts_release,
    because it sleeps and write access to dev->empress_started is not protected
    in any way
    (additionally closing thread could mute audio after opening thread unmuted it)
    
    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit a14fe9605bfdfe360b97acc9ef912779eb860507
Author: Dmitri Belimov <d.belimov@gmail.com>
Date:   Tue Jun 10 14:19:31 2008 -0300

    V4L/DVB (8020): Fix callbacks functions of saa7134_empress
    
    If I try v4l2-ctl --all -d /dev/video1 or v4l2-ctl --streamon -d /dev/video1
    modules crashed:
    
    *pde = 00000000
    Modules linked in: ac battery loop saa7134_empress(F) saa6752hs(F) tuner_simple(F) tuner_types(F) tea5767(F) tda9887(F) tda8290(F) tea5761(F) tuner(F) snd_cmipci snd_pcm snd_page_alloc snd_opl3_lib saa7134(F) snd_mpu401 parport_pc parport snd_timer snd_hwdep snd_mpu401_uart floppy rtc psmouse videodev(F) v4l1_compat(F) compat_ioctl32(F) v4l2_common(F) videobuf_dma_sg(F) videobuf_core(F) snd_rawmidi snd_seq_device via_ircc pcspkr snd ir_kbd_i2c(F) irda soundcore ir_common(F) crc_ccitt tveeprom(F) i2c_viapro i2c_core button via_agp agpgart evdev ext3 jbd mbcache ide_cd_mod cdrom ide_disk 8139cp via82cxxx ide_core 8139too mii ehci_hcd uhci_hcd usbcore thermal processor fan
    
    EIP is at __mutex_lock_slowpath+0x29/0x7b
     DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    Process v4l2-ctl (pid: 2742, ti=ced7e000 task=cf325260 task.ti=ced7e000)
           d08e5411 00000000 ced7fed4 00000000 d0975acb 40045612 cfa86ee0 ffffffcd
           cf2b7000 ced7febc c03858d6 00000019 00000292 d089e4ec cf37b2a0 d089e4a0
    Call Trace:
     [<c028b52b>] mutex_lock+0xa/0xb
     [<d08e5411>] videobuf_streamon+0xf/0x9a [videobuf_core]
     [<d0975acb>] __video_do_ioctl+0x136a/0x2d68 [videodev]
     [<d088f789>] task_end_request+0x40/0x51 [ide_core]
     [<d088c4aa>] ide_intr+0x187/0x192 [ide_core]
     [<c016a551>] mntput_no_expire+0x11/0x64
     [<c0160b1c>] path_walk+0x90/0x98
     [<d0977738>] video_ioctl2+0x173/0x239 [videodev]
     [<c0140936>] filemap_fault+0x202/0x370
     [<c014930a>] __do_fault+0x2c3/0x2fe
     [<c014ab03>] handle_mm_fault+0x22a/0x49f
     [<c0162737>] vfs_ioctl+0x47/0x5d
     [<c0162992>] do_vfs_ioctl+0x245/0x258
     [<c01629e6>] sys_ioctl+0x41/0x5b
     [<c01036a6>] sysenter_past_esp+0x5f/0x85
     =======================
    
    After this fix all of that commands works without problem:
    
    v4l2-ctl --all -d /dev/video1
    
    Driver Info:
    	Driver name   : saa7134
    	Card type     : Beholder BeholdTV M6 Extra
    	Bus info      : PCI:0000:00:0d.0
    	Driver version: 526
    	Capabilities  : 0x05000001
    		Video Capture
    		Read/Write
    		Streaming
    Format Video Capture:
    	Width/Height  : 720/576
    	Pixel Format  : MPEG
    	Field         : Any
    	Bytes per Line: 0
    	Size Image    : 58656
    	Colorspace    : Unknown (00000000)
    Video input : 0 (CCIR656)
    Video Standard = 0x000000ff
    	PAL-B/B1/G/H/I/D/D1/K
    
    
    P.S. data from /dev/video1 is not correct :(( .
    
    Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit a8a1f8cc0cae07c209f13857adbdd4b87b36cdde
Author: Devin Heitmueller <devin.heitmueller@gmail.com>
Date:   Tue Jun 10 12:35:42 2008 -0300

    V4L/DVB (8018): Add em2860 chip ID
    
    em28xx-cards.c
    em28xx-reg.h
     - Add em2860 chip ID (seen on Pointnix Intra-Oral Camera)
       http://www.pointnix.com/ENG/dental/product_02.asp
    
    Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit df619181631217e3166bb6c7538f981e0272617f
Author: Devin Heitmueller <devin.heitmueller@gmail.com>
Date:   Tue Jun 10 12:34:35 2008 -0300

    V4L/DVB (8017): Ensure em28xx extensions only get run against devs that support them
    
    em28xx-audio.c
    em28xx-dvb.c
     - Em28xx extensions should ensure they are being only loaded against devices
       that support them.  Deals with case where there are multiple em28xx
       devices, some of which have DVB (or ALSA) support and some do not.
    
    Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 1a78db826973b9fa658d72291ec2007889e2faf7
Author: Antti Palosaari <crope@iki.fi>
Date:   Tue Jun 10 11:41:58 2008 -0300

    V4L/DVB (8015): gl861: replace non critical msleep(0) with msleep(1) to be on the safe side
    
    - change msleep(0) to msleep(1)
    
    Signed-off-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit ea3a13b7a19f0d7d7344494047c9aa8bb32b6678
Author: Antti Palosaari <crope@iki.fi>
Date:   Wed May 28 22:04:12 2008 -0300

    V4L/DVB (8013): gl861: remove useless identify_state
    
    - remove useless identify_state - device is always warm
    
    Signed-off-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit f56ebe16b045861d26b81ef6683445c0144362b8
Author: Antti Palosaari <crope@iki.fi>
Date:   Wed May 28 21:55:06 2008 -0300

    V4L/DVB (8012): gl861: sleep a little to avoid I2C errors
    
    - add little sleep to avoid I2C errors arising on faster CPUs
    
    Signed-off-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit b38cc642000f0a262db367ffb95cd02ca2ead59b
Author: Devin Heitmueller <devin.heitmueller@gmail.com>
Date:   Mon Jun 9 14:59:05 2008 -0300

    V4L/DVB (8011): em28xx: enable DVB for HVR-900
    
    em28xx-cards.c
     - DVB support is supposed to be enabled for the first generation HVR-900.
       This device was confirmed with DVB by mkrufky when we did the original work
       in April, but I guess we forgot to set the flag.
    
    Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 0367ca1bc7346d9ea89a4b4f1b9220489bda65a3
Author: Devin Heitmueller <devin.heitmueller@gmail.com>
Date:   Mon Jun 9 14:58:04 2008 -0300

    V4L/DVB (8010): em28xx: Properly register extensions for already attached devices
    
    em28xx-video.c
     - Properly handle loading of the module when multiple devices are already
       connected (such as at bootup).  Before we were only calling dvb_init()
       against the last device in the list, so while we were handling subsequent
       adds properly, if there were multiple devices present on driver load,
       everybody except the last device would not get initialized.
    
    Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit d3d9b803eead0a536d28ffc31c5fadae976991cc
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Sun Jun 8 06:05:18 2008 -0300

    V4L/DVB (8008): cx18: remove duplicate audio and video input enums
    
    cx18-cards.h had a copy of the audio and video input enums
    from cx18-av-core.h, but with different prefixes. Removed
    that copy and used the ones from cx18-av-core.h.
    
    Thanks to Andy Walls <awalls@radix.net> for the report.
    
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 45270a1531a2aa90dd890666913c25a1e6f5e8eb
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Sat Jun 7 11:18:17 2008 -0300

    V4L/DVB (8007): cx18/cx25840: the S-Video LUMA input can use all In1-In8 inputs
    
    The S-Video LUMA input was restricted to the In1-In4 inputs, but it
    turns out that it can use the full range of In1-In8.
    
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit bf67cac1314ba29676fbac2decde0e2e0a8170f8
Author: Mauro Carvalho Chehab <mchehab@infradead.org>
Date:   Sat Jun 7 15:54:10 2008 -0300

    V4L/DVB (8005): Fix OOPS if frontend is null
    
    Thanks to timf <timf@iinet.net.au> and Mike Galbraith <efault@gmx.de> to report
    this issue.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit fde60748d2f0345cabff20d25458c67d4ac06034
Author: Mauro Carvalho Chehab <mchehab@infradead.org>
Date:   Thu Jun 5 18:59:08 2008 -0300

    V4L/DVB (8004): Fix INPUT dependency at budget-ci
    
    As reported by Ingo Molnar:
    MODPOST 346 modules
    ERROR: "input_free_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined!
    ERROR: "input_register_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined!
    ERROR: "input_allocate_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined!
    ERROR: "input_unregister_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined!
    ERROR: "input_event" [drivers/media/common/ir-common.ko] undefined!
    
    This occurs when:
    
    CONFIG_INPUT=n
    CONFIG_VIDEO_IR=m
    CONFIG_DVB_BUDGET_CI=m
    
    Thanks-to: Ingo Molnar <mingo@elte.hu>
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

commit 0b1faeef5f9243bb5fc5713a34bbf1ceab0de562
Author: Daniel J Blueman <daniel.blueman@gmail.com>
Date:   Sun Jun 15 12:32:15 2008 +0100

    x86: section/warning fixes
    
    WARNING: arch/x86/mm/built-in.o(.text+0x3a1): Section mismatch in
    reference from the function set_pte_phys() to the function
    .init.text:spp_getpage()
    The function set_pte_phys() references
    the function __init spp_getpage().
    This is often because set_pte_phys lacks a __init
    annotation or the annotation of spp_getpage is wrong.
    
    arch/x86/mm/init_64.c: In function 'early_memtest':
    arch/x86/mm/init_64.c:520: warning: passing argument 2 of
    'find_e820_area_size' from incompatible pointer type
    
    Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>
    Cc: "Linus Torvalds" <torvalds@linux-foundation.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 41aefdcc98fdba47459eab67630293d67e855fc3
Author: Max Asbock <masbock@us.ibm.com>
Date:   Wed Jun 25 14:45:28 2008 -0700

    x86: shift bits the right way in native_read_tscp
    
    native_read_tscp shifts the bits in the high order value in the
    wrong direction, the attached patch fixes that.
    
    Signed-off-by: Max Asbock <masbock@linux.vnet.ibm.com>
    Acked-by: Glauber Costa <gcosta@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit c4e6a2e64e948de42473e9c829181d768b1258c3
Merge: 816c2ed... 16d7523...
Author: Len Brown <len.brown@intel.com>
Date:   Thu Jun 26 01:56:35 2008 -0400

    Merge branches 'release', 'acpi_disabled' and 'bugzilla-10958' into release

commit 816c2eda3ce8fa7eb62f22e01e2ec7a3f7d677c0
Author: Len Brown <len.brown@intel.com>
Date:   Tue Jun 24 22:57:12 2008 -0400

    dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled.
    
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 4389ed2ff61de2b1485b31bf342da913dd342f59
Author: Vegard Nossum <vegard.nossum@gmail.com>
Date:   Fri Jun 20 15:39:09 2008 +0200

    ACPI: don't walk tables if ACPI was disabled
    
    Ingo Molnar wrote:
    > -tip auto-testing started triggering this spinlock corruption message
    > yesterday:
    >
    > [    3.976213] calling  acpi_rtc_init+0x0/0xd3
    > [    3.980213] ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread F7C50000 could not acquire Mutex [3] [20080321]
    > [    3.992213] BUG: spinlock bad magic on CPU#0, swapper/1
    > [    3.992213]  lock: c2508dc4, .magic: 00000000, .owner: swapper/1, .owner_cpu: 0
    
    This is apparently because some parts of ACPI, including mutexes, are not
    initialized when acpi=off is passed to the kernel.
    
    Reported-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 16d752397301b95abaa95cbaf9e785d221872311
Author: Rene Herman <rene.herman@keyaccess.nl>
Date:   Tue Jun 24 19:38:56 2008 +0200

    thermal: Create CONFIG_THERMAL_HWMON=n
    
    A bug in libsensors <= 2.10.6 is exposed
    when this new hwmon I/F is enabled.
    Create CONFIG_THERMAL_HWMON=n
    until some time after libsensors 2.10.7 ships
    so those users can run the latest kernel.
    
    libsensors 3.x is already fixed -- those users
    can use CONFIG_THERMAL_HWMON=y now.
    
    Signed-off-by: Rene Herman <rene.herman@gmail.com>
    Acked-by: Mark M. Hoffman <mhoffman@lightlink.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 8d0a60032ffd472f0f7821ff388e9f438c06077a
Author: Bryan Wu <cooloney@kernel.org>
Date:   Wed Jun 25 12:41:51 2008 +0800

    Blackfin arch: fix up section mismatch warning
    
    --
    WARNING: vmlinux.o(.text+0x721a): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_code_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_code_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x7238): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_code_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_code_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x7250): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_code_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_code_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x7264): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_code_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_code_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x72a2): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_data_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_data_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x72bc): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_data_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_data_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x72d4): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_data_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_data_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    
    WARNING: vmlinux.o(.text+0x72e8): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab()
    The function ___fill_data_cplbtab() references
    the function __init _fill_cplbtab().
    This is often because ___fill_data_cplbtab lacks a __init
    annotation or the annotation of _fill_cplbtab is wrong.
    --
    
    Signed-off-by: Bryan Wu <cooloney@kernel.org>

commit 71a7d1556264c1ad84b1bcf5f7a9cbc980b1e1fd
Author: Sonic Zhang <sonic.zhang@analog.com>
Date:   Wed Jun 25 12:02:07 2008 +0800

    Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock debugging enabled
    
    Initialize the lock of bad_irq_desc properly.
    The content of irq_desc array is replaced by bad_irq_desc in blackfin
    arch irqchip init code. So, do it properly as common irq init code.
    
    Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Bryan Wu <cooloney@kernel.org>

commit d8de72473effd674a3c1fe9621821f406f5587c9
Author: Peng Haitao <penght@cn.fujitsu.com>
Date:   Tue May 20 09:13:02 2008 +0800

    [PATCH] remove useless argument type in audit_filter_user()
    
    The second argument "type" is not used in audit_filter_user(), so I think that type can be removed. If I'm wrong, please tell me.
    
    Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Mon May 19 15:09:21 2008 -0700

    [PATCH] audit: fix kernel-doc parameter notation
    
    Fix auditfilter kernel-doc misssing parameter description:
    
    Warning(lin2626-rc3//kernel/auditfilter.c:1551): No description found for parameter 'sessionid'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 13d5ef97f0675d789f559cfebc1df9d5e2b1879c
Author: Peng Haitao <penght@cn.fujitsu.com>
Date:   Fri May 16 10:15:04 2008 +0800

    [PATCH] kernel/audit.c: nlh->nlmsg_type is gotten more than once
    
    The first argument "nlh->nlmsg_type" of audit_receive_filter() should be modified to "msg_type" in audit_receive_msg().
    
    Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 19fd426a18b48a0446ba4b54ac66264916dcb7f3
Merge: e8183c2... 62786b9...
Author: Jan Kara <jack@suse.cz>
Date:   Tue Jun 24 11:43:00 2008 +0200

    Merge branch 'master' into for_mm

commit e8183c2452041326c95258ecc7865b6fcd91c730
Author: Tomas Janousek <tomi@nomi.cz>
Date:   Mon Jun 23 15:12:35 2008 +0200

    udf: Fix regression in UDF anchor block detection
    
    In some cases it could happen that some block passed test in
    udf_check_anchor_block() even though udf_read_tagged() refused to read it later
    (e.g. because checksum was not correct).  This patch makes
    udf_check_anchor_block() use udf_read_tagged() so that the checking is
    stricter.
    
    This fixes the regression (certain disks unmountable) caused by commit
    423cf6dc04eb79d441bfda2b127bc4b57134b41d.
    
    Signed-off-by: Tomas Janousek <tomi@nomi.cz>
    Signed-off-by: Jan Kara <jack@suse.cz>

commit cdd16d0265c9234228fd37fbbad844d7e894b278
Author: Miklos Szeredi <mszeredi@suse.cz>
Date:   Mon Jun 23 18:11:53 2008 +0200

    [patch 2/3] vfs: dcache cleanups
    
    Comment from Al Viro: add prepend_name() wrapper.
    
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 31f3e0b3a18c6d48196c40a82a3b8c01f4ff6b23
Author: Miklos Szeredi <mszeredi@suse.cz>
Date:   Mon Jun 23 18:11:52 2008 +0200

    [patch 1/3] vfs: dcache sparse fixes
    
    Fix the following sparse warnings:
    
    fs/dcache.c:2183:19: warning: symbol 'filp_cachep' was not declared. Should it be static?
    fs/dcache.c:115:3: warning: context imbalance in 'dentry_iput' - unexpected unlock
    fs/dcache.c:188:2: warning: context imbalance in 'dput' - different lock contexts for basic block
    fs/dcache.c:400:2: warning: context imbalance in 'prune_one_dentry' - different lock contexts for basic block
    fs/dcache.c:431:22: warning: context imbalance in 'prune_dcache' - different lock contexts for basic block
    fs/dcache.c:563:2: warning: context imbalance in 'shrink_dcache_sb' - different lock contexts for basic block
    fs/dcache.c:1385:6: warning: context imbalance in 'd_delete' - wrong count at exit
    fs/dcache.c:1636:2: warning: context imbalance in '__d_unalias' - unexpected unlock
    fs/dcache.c:1735:2: warning: context imbalance in 'd_materialise_unique' - different lock contexts for basic block
    
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
    Acked-by: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit be285c712bbbe5db43e503782fbef2bfeaa345f9
Author: Andreas Gruenbacher <agruen@suse.de>
Date:   Mon Jun 16 13:28:07 2008 +0200

    [patch 3/3] vfs: make d_path() consistent across mount operations
    
    The path that __d_path() computes can become slightly inconsistent when it
    races with mount operations: it grabs the vfsmount_lock when traversing mount
    points but immediately drops it again, only to re-grab it when it reaches the
    next mount point.  The result is that the filename computed is not always
    consisent, and the file may never have had that name. (This is unlikely, but
    still possible.)
    
    Fix this by grabbing the vfsmount_lock for the whole duration of
    __d_path().
    
    Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
    Signed-off-by: John Johansen <jjohansen@suse.de>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Acked-by: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit f9f48ec72bfc9489a30bc6ddbfcf27d86a8bc651
Author: Denis V. Lunev <den@openvz.org>
Date:   Mon Jun 9 16:40:38 2008 -0700

    [patch 4/4] flock: remove unused fields from file_lock_operations
    
    fl_insert and fl_remove are not used right now in the kernel. Remove them.
    
    Signed-off-by: Denis V. Lunev <den@openvz.org>
    Cc: Matthew Wilcox <matthew@wil.cx>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: "J. Bruce Fields" <bfields@fieldses.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 694a1764d657e0f7a9b139bc7269c8d5f5a2534b
Author: Marcin Slusarz <marcin.slusarz@gmail.com>
Date:   Mon Jun 9 16:40:37 2008 -0700

    [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink
    
    generic_readlink calls ERR_PTR for negative and positive values
    (vfs_readlink returns length of "link"), but it should not
    (not an errno) and does not need to.
    
    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
    Cc: Al Viro <viro@ZenIV.linux.org.uk>
    Cc: Christoph Hellwig <hch@lst.de>
    Acked-by: Miklos Szeredi <miklos@szeredi.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 20d4fdc1a788e4ca0aaf2422772ba668e7e10839
Author: Jan Engelhardt <jengelh@medozas.de>
Date:   Mon Jun 9 16:40:36 2008 -0700

    [patch 2/4] fs: make struct file arg to d_path const
    
    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit c8e7f449b225ee6c87454ac069f0a041035c5140
Author: Jan Blunck <jblunck@suse.de>
Date:   Mon Jun 9 16:40:35 2008 -0700

    [patch 1/4] vfs: path_{get,put}() cleanups
    
    Here are some more places where path_{get,put}() can be used instead of
    dput()/mntput() pair.
    
    Signed-off-by: Jan Blunck <jblunck@suse.de>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit c70f84417429f41519be0197a1092a53c2201f47
Author: Michael Kerrisk <mtk.manpages@googlemail.com>
Date:   Mon Jun 9 21:16:09 2008 -0700

    [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens()
    
    The POSIX.1 draft spec for futimens()/utimensat() says:
    
            Only a process with the effective user ID equal to the
            user ID of the file, *or with write access to the file*,
            or with appropriate privileges may use futimens() or
            utimensat() with a null pointer as the times argument
            or with both tv_nsec fields set to the special value
            UTIME_NOW.
    
    The important piece here is "with write access to the file", and
    this matters for futimens(), which deals with an argument that
    is a file descriptor referring to the file whose timestamps are
    being updated,  The standard is saying that the "writability"
    check is based on the file permissions, not the access mode with
    which the file is opened.  (This behavior is consistent with the
    semantics of FreeBSD's futimes().)  However, Linux is currently
    doing the latter -- futimens(fd, times) is a library
    function implemented as
    
           utimensat(fd, NULL, times, 0)
    
    and within the utimensat() implementation we have the code:
    
                    f = fget(dfd);  // dfd is 'fd'
                    ...
                    if (f) {
                            if (!(f->f_mode & FMODE_WRITE))
                                    goto mnt_drop_write_and_out;
    
    The check should instead be based on the file permissions.
    
    Thanks to Miklos for pointing out how to do this check.
    Miklos also pointed out a simplification that could be
    made to my first version of this patch, since the checks
    for the pathname and file descriptor cases can now be
    conflated.
    
    Acked-by: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 4cca92264e61a90b43fc4e076cd25b7f4e16dc61
Author: Michael Kerrisk <mtk.manpages@googlemail.com>
Date:   Mon Jun 9 21:16:08 2008 -0700

    [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case
    
    The POSIX.1 draft spec for utimensat() says:
    
        Only a process with the effective user ID equal to the
        user ID of the file or with appropriate privileges may use
        futimens() or utimensat() with a non-null times argument
        that does not have both tv_nsec fields set to UTIME_NOW
        and does not have both tv_nsec fields set to UTIME_OMIT.
    
    If this condition is violated, then the error EPERM should result.
    However, the current implementation does not generate EPERM if
    one tv_nsec field is UTIME_NOW while the other is UTIME_OMIT.
    It should give this error for that case.
    
    This patch:
    
    a) Repairs that problem.
    b) Removes the now unneeded nsec_special() helper function.
    c) Adds some comments to explain the checks that are being
       performed.
    
    Thanks to Miklos, who provided comments on the previous iteration
    of this patch.  As a result, this version is a little simpler and
    and its logic is better structured.
    
    Miklos suggested an alternative idea, migrating the
    is_owner_or_cap() checks into fs/attr.c:inode_change_ok() via
    the use of an ATTR_OWNER_CHECK flag.  Maybe we could do that
    later, but for now I've gone with this version, which is
    IMO simpler, and can be more easily read as being correct.
    
    Acked-by: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 94c70b9ba7e9c1036284e779e2fef5be89021533
Author: Michael Kerrisk <mtk.manpages@googlemail.com>
Date:   Mon Jun 9 21:16:05 2008 -0700

    [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec == UTIME_OMIT or UTIME_NOW
    
    The POSIX.1 draft spec for utimensat() says that if a times[n].tv_nsec
    field is UTIME_OMIT or UTIME_NOW, then the value in the corresponding
    tv_sec field is ignored.  See the last sentence of this para, from
    the spec:
    
        If the tv_nsec field of a timespec structure has
        the special value UTIME_NOW, the file's relevant
        timestamp shall be set to the greatest value
        supported by the file system that is not greater than
        the current time. If the tv_nsec field has the
        special value UTIME_OMIT, the file's relevant
        timestamp shall not be changed. In either case,
        the tv_sec field shall be ignored.
    
    However the current Linux implementation requires the tv_sec value to be
    zero (or the EINVAL error results). This requirement should be removed.
    
    Acked-by: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 12fd0d3088d27867be68655bcab2b074f2835f60
Author: Michael Kerrisk <mtk.manpages@googlemail.com>
Date:   Mon Jun 9 21:16:07 2008 -0700

    [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for immutable and append-only files
    
    This patch fixes utimensat() to make its behavior consistent
    with that of utime()/utimes() when dealing with files marked
    immutable and append-only.
    
    The current utimensat() implementation also returns EPERM if
    'times' is non-NULL and the tv_nsec fields are both UTIME_NOW.
    For consistency, the
    
    (times != NULL && times[0].tv_nsec == UTIME_NOW &&
                      times[1].tv_nsec == UTIME_NOW)
    
    case should be treated like the traditional utimes() case where
    'times' is NULL.  That is, the call should succeed for a file
    marked append-only and should give the error EACCES if the file
    is marked as immutable.
    
    The simple way to do this is to set 'times' to NULL
    if (times[0].tv_nsec == UTIME_NOW && times[1].tv_nsec == UTIME_NOW).
    
    This is also the natural approach, since POSIX.1 semantics consider the
    times == {{x, UTIME_NOW}, {y, UTIME_NOW}}
    to be exactly equivalent to the case for
    times == NULL.
    
    (Thanks to Miklos for pointing this out.)
    
    Patch 3 in this series relies on the simplification provided
    by this patch.
    
    Acked-by: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit fe6e9c1f25ac01f848bd084ee0ee62a5a0966ff3
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Mon Jun 23 08:30:55 2008 -0400

    [PATCH] fix cgroup-inflicted breakage in block_dev.c
    
    devcgroup_inode_permission() expects MAY_FOO, not FMODE_FOO; kindly
    keep your misdesign consistent if you positively have to inflict it
    on the kernel.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 50db04dd9c74178e68a981a7127c37252ffb3242
Author: Vegard Nossum <vegard.nossum@gmail.com>
Date:   Sun Jun 15 00:47:36 2008 +0200

    debugobjects: fix lockdep warning
    
    Daniel J Blueman reported:
    | =======================================================
    | [ INFO: possible circular locking dependency detected ]
    | 2.6.26-rc5-201c #1
    | -------------------------------------------------------
    | nscd/3669 is trying to acquire lock:
    |  (&n->list_lock){.+..}, at: [<ffffffff802bab03>] deactivate_slab+0x173/0x1e0
    |
    | but task is already holding lock:
    |  (&obj_hash[i].lock){++..}, at: [<ffffffff803fa56f>]
    | __debug_object_init+0x2f/0x350
    |
    | which lock already depends on the new lock.
    
    There are two locks involved here; the first is a SLUB-local lock, and
    the second is a debugobjects-local lock. They are basically taken in two
    different orders:
    
    1. SLUB { debugobjects { ... } }
    2. debugobjects { SLUB { ... } }
    
    This patch changes pattern #2 by trying to fill the memory pool (e.g.
    the call into SLUB/kmalloc()) outside the debugobjects lock, so now the
    two patterns look like this:
    
    1. SLUB { debugobjects { ... } }
    2. SLUB { } debugobjects { ... }
    
    [ daniel.blueman@gmail.com: pool_lock needs to be taken irq safe in fill_pool ]
    
    Reported-by: Daniel J Blueman <daniel.blueman@gmail.com>
    Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>