1. 19 4月, 2009 2 次提交
  2. 17 4月, 2009 16 次提交
  3. 16 4月, 2009 18 次提交
    • C
      Add block_write_full_page_endio for passing endio handler · 35c80d5f
      Chris Mason 提交于
      block_write_full_page doesn't allow the caller to control what happens
      when the IO is over.  This adds a new call named block_write_full_page_endio
      so the buffer head end_io handler can be provided by the caller.
      
      This will be used by the ext3 data=guarded mode to do i_size updates in
      a workqueue based end_io handler.  end_buffer_async_write is also
      exported so it can be called to do the dirty work of managing page
      writeback for the higher level end_io handler.
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      Acked-by: NTheodore Tso <tytso@mit.edu>
      Acked-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      35c80d5f
    • C
      Export filemap_write_and_wait_range · f6995585
      Chris Mason 提交于
      This wasn't exported before and is useful (used by the experimental ext3
      data=guarded code)
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      Acked-by: NTheodore Tso <tytso@mit.edu>
      Acked-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f6995585
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · cd978249
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (64 commits)
        phylib: Fix delay argument of schedule_delayed_work
        NET/ixgbe: Fix powering off during shutdown
        NET/e1000e: Fix powering off during shutdown
        NET/e1000: Fix powering off during shutdown
        packet: avoid warnings when high-order page allocation fails
        gianfar: stop send queue before resetting gianfar
        myr10ge: again fix lro_gen_skb() alignment
        declance: convert to net_device_ops
        bfin_mac: convert to net_device_ops
        au1000: convert to net_device_ops
        atarilance: convert to net_device_ops
        a2065: convert to net_device_ops
        ixgbe: update real_num_tx_queues on changing num_rx_queues
        ixgbe: fix tx queue index
        Revert "rose: zero length frame filtering in af_rose.c"
        sfc: Use correct macro to set event bitfield
        sfc: Match calls to netif_napi_add() and netif_napi_del()
        bonding: Remove debug printk
        e1000/e1000: fix compile warning
        ehea: Fix incomplete conversion to net_device_ops
        ...
      cd978249
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 3307f19f
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc: remove some pointless conditionals before kfree()
        sbus: changed ioctls to unlocked
        sparc: asm/atomic.h on 32bit should include asm/system.h for xchg
        sparc64: Fix smp_callin() locking.
      3307f19f
    • A
      phylib: Fix delay argument of schedule_delayed_work · 3664090e
      Atsushi Nemoto 提交于
      The commit a390d1f3 ("phylib: convert state_queue work to
      delayed_work") missed converting 'expires' value to 'delay' value.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Acked-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3664090e
    • R
      NET/ixgbe: Fix powering off during shutdown · 9d8d05ae
      Rafael J. Wysocki 提交于
      Prevent ixgbe from putting the adapter into D3 during shutdown except when
      we're going to power off the system, since doing that may generally cause
      problems with kexec to happen (such problems were observed for igb and
      forcedeth).  For this purpose seperate ixgbe_shutdown() from ixgbe_suspend()
      and use the appropriate PCI PM callbacks in both of them.
      Signed-off-by: N"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d8d05ae
    • R
      NET/e1000e: Fix powering off during shutdown · 4f9de721
      Rafael J. Wysocki 提交于
      Prevent e1000e from putting the adapter into D3 during shutdown except when
      we're going to power off the system, since doing that may generally cause
      problems with kexec to happen (such problems were observed for igb and
      forcedeth).  For this purpose seperate e1000e_shutdown() from e1000e_suspend()
      and use the appropriate PCI PM callbacks in both of them.
      Signed-off-by: N"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4f9de721
    • R
      NET/e1000: Fix powering off during shutdown · b43fcd7d
      Rafael J. Wysocki 提交于
      Prevent e1000 from putting the adapter into D3 during shutdown except when
      we're going to power off the system, since doing that may generally cause
      problems with kexec to happen (such problems were observed for igb and
      forcedeth).  For this purpose seperate e1000_shutdown() from e1000_suspend()
      and use the appropriate PCI PM callbacks in both of them.
      Signed-off-by: N"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b43fcd7d
    • D
      RCU: Don't try and predeclare inline funcs as it upsets some versions of gcc · 5b1d07ed
      David Howells 提交于
      Don't try and predeclare inline funcs like this:
      
      	static inline void wait_migrated_callbacks(void)
      	...
      	static void _rcu_barrier(enum rcu_barrier type)
      	{
      		...
      		wait_migrated_callbacks();
      	}
      	...
      	static inline void wait_migrated_callbacks(void)
      	{
      		wait_event(rcu_migrate_wq, !atomic_read(&rcu_migrate_type_count));
      	}
      
      as it upsets some versions of gcc under some circumstances:
      
      	kernel/rcupdate.c: In function `_rcu_barrier':
      	kernel/rcupdate.c:125: sorry, unimplemented: inlining failed in call to 'wait_migrated_callbacks': function body not available
      	kernel/rcupdate.c:152: sorry, unimplemented: called from here
      
      This can be dealt with by simply putting the static variables (rcu_migrate_*)
      at the top, and moving the implementation of the function up so that it
      replaces its forward declaration.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Dipankar Sarma <dipankar@in.ibm.com>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5b1d07ed
    • D
      The default CONFIG_BUG=n version of BUG() should have an empty do...while · da60682c
      David Howells 提交于
      The default CONFIG_BUG=n version of BUG() should incorporate an empty a
      do...while statement to avoid compilation weirdness.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      da60682c
    • D
      MN10300: Stop gcc from generating uninitialised variable warnings after BUG() · 616df135
      David Howells 提交于
      Stop gcc from generating uninitialised variable warnings after BUG().  The
      problem is that MN10300's implementation of BUG() invokes system call 15 which
      doesn't return - but there's no way to tell the compiler that and also emit the
      bug table element with the correct file and line data.
      
      So instead, we make the do...while wrapper in _debug_bug_trap() an endless loop
      from which there's no escape.
      
      Also, while we're at it, (1) get rid of _debug_bug_trap() and just implement
      directly as BUG(), and (2) make the implementation of BUG() contingent on
      CONFIG_BUG=y.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      616df135
    • D
      MN10300: Wire up missing system calls · 76d320a5
      David Howells 提交于
      Wire up missing system calls preadv() and pwritev().
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      76d320a5
    • D
      MN10300: Discard duplicate PFN_xxx() macros · 3bb4e153
      David Howells 提交于
      Discard duplicate PFN_xxx() macros from arch code as they're now in the
      general headers.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3bb4e153
    • L
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 31712eec
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] boot cputime accounting
        [S390] add read_persistent_clock
        [S390] cpu hotplug and accounting values
        [S390] fix idle time accounting
        [S390] smp: fix cpu_possible_map initialization
        [S390] dasd: fix idaw boundary checking for track based ccw
        [S390] dasd: Use the new async framework for autoonlining.
        [S390] qdio: remove dead timeout handler
        [S390] appldata: Use new mod_virt_timer_periodic() function.
        [S390] extend virtual timer interface by mod_virt_timer_periodic
        [S390] stp synchronization retry timer
        [S390] call nmi_enter/nmi_exit on machine checks
        [S390] wire up preadv/pwritev system calls
        [S390] s390: move machine flags to lowcore
      31712eec
    • Y
      x86: use used_vectors in init_IRQ() · 77857dc0
      Yinghai Lu 提交于
      Impact: fix crash with many devices
      
      I found this crash:
      
      [  552.616646] general protection fault: 0403 [#1] SMP
      [  552.620013] last sysfs file:
      /sys/devices/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/host13/target13:0:0/13:0:0:0/block/sr0/size
      [  552.620013] CPU 0
      [  552.620013] Modules linked in:
      [  552.620013] Pid: 0, comm: swapper Not tainted 2.6.30-rc1-tip-01931-g8fcafd8-dirty #28 Sun Fire X4440
      [  552.620013] RIP: 0010:[<ffffffff8023bada>]  [<ffffffff8023bada>] default_idle+0x7d/0xda
      [  552.620013] RSP: 0018:ffffffff81345e68  EFLAGS: 00010246
      [  552.620013] RAX: 0000000000000000 RBX: ffffffff8133d870 RCX: ffffc20000000000
      [  552.620013] RDX: 00000000001d0620 RSI: ffffffff8023bad8 RDI: ffffffff802a3169
      [  552.620013] RBP: ffffffff81345e98 R08: 0000000000000000 R09: ffffffff812244a0
      [  552.620013] R10: ffffffff81345dc8 R11: 7ebe1b6fa0bcac50 R12: 4ec4ec4ec4ec4ec5
      [  552.620013] R13: ffffffff813a54d0 R14: ffffffff813a7a40 R15: 0000000000000000
      [  552.620013] FS:  00000000006d1880(0000) GS:ffffc20000000000(0000) knlGS:0000000000000000
      [  552.620013] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      [  552.620013] CR2: 00007fec9d936a50 CR3: 000000007d1a9000 CR4: 00000000000006e0
      [  552.620013] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  552.620013] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  552.620013] Process swapper (pid: 0, threadinfo ffffffff81344000,task ffffffff812244a0)
      [  552.620013] Stack:
      [  552.620013]  0000000000000000 ffffc20000000000 00000000001d0620 7ebe1b6fa0bcac50
      [  552.620013]  ffffffff8133d870 4ec4ec4ec4ec4ec5 ffffffff81345ec8 ffffffff8023bd84
      [  552.620013]  4ec4ec4ec4ec4ec5 ffffffff813a54d0 7ebe1b6fa0bcac50 ffffffff8133d870
      [  552.620013] Call Trace:
      [  552.620013]  [<ffffffff8023bd84>] c1e_idle+0x109/0x124
      [  552.620013]  [<ffffffff8023314b>] cpu_idle+0xb8/0x101
      [  552.620013]  [<ffffffff80c16d6a>] rest_init+0x7e/0x94
      [  552.620013]  [<ffffffff81357efc>] start_kernel+0x3dc/0x3fd
      [  552.620013]  [<ffffffff813572a9>] x86_64_start_reservations+0xb9/0xd4
      [  552.620013]  [<ffffffff813573b2>] x86_64_start_kernel+0xee/0x109
      [  552.620013] Code: 48 8b 04 25 f8 b4 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48 8b 04 25 f8 b4 00 00 f6 80 38 e0 ff ff 08 75 09 e8 71 76 06 00 fb f4 <eb> 06 e8 68 76 06 00 fb 65 48 8b 04 25 f8 b4 00 00 83 88 3c e0
      [  552.620013] RIP  [<ffffffff8023bada>] default_idle+0x7d/0xda
      [  552.620013]  RSP <ffffffff81345e68>
      [  552.828646] ---[ end trace 4cbfc5c01382af7f ]---
      
      Joerg Roedel said
      	"The 0403 error code means that there was an external interrupt with vector
      	0x80. Yinghai, my theory is that the kernel on this machine has no 32bit
      	emulation compiled in, right? In this case the selector points to a zero entry
      	which may cause the #gpf right after the hlt.
      	But I have no idea where the external int 0x80 comes from"
      
      it turns out that we could use 0x80 for external device on 64-bit
      when 32-bit emulation is disabled.
      
      But we forgot to set the gate for it.
      
      try to set gate for it by checking used_vectors.
      
      Also move apic_intr_init() early to avoid setting
      that gate two times.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Joerg Roedel <joerg.roedel@amd.com>
      LKML-Reference: <49E62DFD.6010904@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      77857dc0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 3ee8da87
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix the cmd cache keys for amp verbs
        ALSA: add missing definitions(letters) to HD-Audio.txt
        ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
        [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
        [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
        ALSA: hda - Avoid call of snd_jack_report at release
        ALSA: add private_data to struct snd_jack
        ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes
        ALSA: snd-usb-caiaq: clean up header includes
        ALSA: sound/pci: use memdup_user()
        ALSA: sound/usb: use memdup_user()
        ALSA: sound/isa: use memdup_user()
        ALSA: sound/core: use memdup_user()
        [ALSA] intel8x0: do not use zero value from PICB register
        [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
        [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
        [ALSA] hda_intel: fix unexpected ring buffer positions
        ASoC: Disable S3C64xx support in Kconfig
        ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
      3ee8da87
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · a2c252eb
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Use DEFINE_SPINLOCK
        GFS2: cleanup file_operations mess
        GFS2: Move umount flush rwsem
        GFS2: Fix symlink creation race
        GFS2: Make quotad's waiting interruptible
      a2c252eb
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 23da64b4
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (28 commits)
        cfq-iosched: add close cooperator code
        cfq-iosched: log responsible 'cfqq' in idle timer arm
        cfq-iosched: tweak kick logic a bit more
        cfq-iosched: no need to save interrupts in cfq_kick_queue()
        brd: fix cacheflushing
        brd: support barriers
        swap: Remove code handling bio_alloc failure with __GFP_WAIT
        gfs2: Remove code handling bio_alloc failure with __GFP_WAIT
        ext4: Remove code handling bio_alloc failure with __GFP_WAIT
        dio: Remove code handling bio_alloc failure with __GFP_WAIT
        block: Remove code handling bio_alloc failure with __GFP_WAIT
        bio: add documentation to bio_alloc()
        splice: add helpers for locking pipe inode
        splice: remove generic_file_splice_write_nolock()
        ocfs2: fix i_mutex locking in ocfs2_splice_to_file()
        splice: fix i_mutex locking in generic_splice_write()
        splice: remove i_mutex locking in splice_from_pipe()
        splice: split up __splice_from_pipe()
        block: fix SG_IO to return a proper error value
        cfq-iosched: don't delay queue kick for a merged request
        ...
      23da64b4
  4. 15 4月, 2009 4 次提交
    • T
      Merge branch 'topic/hda' into for-linus · 9dd175f7
      Takashi Iwai 提交于
      * topic/hda:
        ALSA: hda - Fix the cmd cache keys for amp verbs
        ALSA: add missing definitions(letters) to HD-Audio.txt
      9dd175f7
    • T
      ALSA: hda - Fix the cmd cache keys for amp verbs · fcad94a4
      Takashi Iwai 提交于
      Fix the key value generation for get/set amp verbs.  The upper bits of
      the parameter have to be combined with the verb value to be unique for
      each direction/index of amp access.
      
      This fixes the resume problem on some hardwares like Macbook after
      the channel mode is changed.
      Tested-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fcad94a4
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · a23c218b
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc: pseries/dtl.c should include asm/firmware.h
        powerpc: Fix data-corrupting bug in __futex_atomic_op
        powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset()
        powerpc: Allow 256kB pages with SHMEM
        powerpc: Document new FSL I2C bindings and cleanup
        powerpc/mm: Fix compile warning
        powerpc/85xx: TQM8548: update defconfig
        powerpc/85xx: TQM8548: use proper phy-handles for enet2 and enet3
        powerpc/85xx: TQM85xx: correct address of LM75 I2C device nodes
        powerpc: Add support for early tlbilx opcode
        powerpc: Fix tlbilx opcode
      a23c218b
    • L
      acpi-cpufreq: fix 'smp_call_function_many()' confusion · ea34f43a
      Linus Torvalds 提交于
      It turns out that 'smp_call_function_many()' doesn't work at all like
      'smp_call_function_single()', and my change to Andrew's patch to use it
      rather than a loop over all CPU's acpi-cpufreq doesn't work.
      
      My bad.
      
      'smp_call_function_many()' has two "features" (aka "documented bugs"):
      
       (a) it needs to be called with preemption disabled, because it uses
           smp_processor_id() without guarding the CPU lookup with 'get_cpu()'
           and 'put_cpu()' like the 'single' variant does.
      
       (b) even if the current CPU is part of the CPU mask, it won't do the
           call on that CPU.
      
      Still, we're better off trying to use 'smp_call_function_many()' than
      looping over CPU's, since it at least in theory allows us to use a
      broadcast IPI and do it all in parallel.  So let's just work around the
      silly semantic bugs in that function.
      Reported-and-tested-by: NAli Gholami Rudi <ali@rudi.ir>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>,
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Dave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ea34f43a