1. 06 4月, 2009 26 次提交
    • E
      backlight: fix pwm_bl.c when multiple PWM backlights exist · b8cdd877
      Eric Miao 提交于
      When multiple PWMs are used as backlights, the current code uses
      pdev->name as the backlight name when registering, which will be
      conflicting, use dev_name() instead.
      Signed-off-by: NPeter Edwards <sweetlilmre@gmail.com>
      Signed-off-by: NEric Miao <eric.miao@marvell.com>
      Signed-off-by: NRichard Purdie <rpurdie@linux.intel.com>
      b8cdd877
    • M
      backlight: mbp_nvidia_bl - Add a debug switch · 1a468ba1
      Mario Schwalbe 提交于
      This patch adds a debug switch to enable (little) diagnostic
      output, to help to trace down the remaining problems.
      Signed-off-by: NMario Schwalbe <schwalbe@inf.tu-dresden.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NRichard Purdie <rpurdie@linux.intel.com>
      1a468ba1
    • M
      backlight: Add support for MacBook 5, MacBook Air 2, and MacBook Pro 5 · c78a6288
      Mario Schwalbe 提交于
      This patch adds support for the new Apple models incorporating an Nvidia
      chipset.  Apple still uses the same protocol as on older models, but the
      registers moved to a different address. To do this, two sets of functions
      are added for the Intel/Nvidia chipset models and passed by the DMI_MATCH
      function.
      
      The initial code has been contributed by Hu Gang <hugang@soulinfo.com>.
      
      The driver is known to work on MacBook Pro 3, MacBook Pro 4 and MacBook
      Pro 5.
      
      Its known to work with limitations on MacBook 5 / MacBook Air 2. Changing
      brightness within X doesn't work, if using Nvidia's proprietary graphics
      driver with no known fix at present. Changing brightness on a text console
      or using the open-source driver does work.
      
      MacBook Pro 5 has a known bug where the initial brightness after bootup is
      the last recently used brightness (in Mac OSX), while the firmware reports
      maximum. Impossible to fix.
      
      [akpm@linux-foundation.org: build fix]
      [rpurdie@linux.intel.com: Rebased the patch against latest git]
      Signed-off-by: NMario Schwalbe <schwalbe@inf.tu-dresden.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NRichard Purdie <rpurdie@linux.intel.com>
      c78a6288
    • L
      Merge branch 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current · 0221c81b
      Linus Torvalds 提交于
      * 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
        Audit: remove spaces from audit_log_d_path
        audit: audit_set_auditable defined but not used
        audit: incorrect ref counting in audit tree tag_chunk
        audit: Fix possible return value truncation in audit_get_context()
        audit: ignore terminating NUL in AUDIT_USER_TTY messages
        Audit: fix handling of 'strings' with NULL characters
        make the e->rule.xxx shorter in kernel auditfilter.c
        auditsc: fix kernel-doc notation
        audit: EXECVE record - removed bogus newline
      0221c81b
    • L
      Merge branch 'for-next' of git://git.o-hand.com/linux-mfd · 48f286a2
      Linus Torvalds 提交于
      * 'for-next' of git://git.o-hand.com/linux-mfd:
        mfd: fix da903x warning
        mfd: fix MAINTAINERS entry
        mfd: Use the value of the final spin when reading the AUXADC
        mfd: Storage class should be before const qualifier
        mfd: PASIC3: supply clock_rate to DS1WM via driver_data
        mfd: remove DS1WM clock handling
        mfd: remove unused PASIC3 bus_shift field
        pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data
        mfd: convert PASIC3 to use MFD core
        mfd: convert DS1WM to use MFD core
        mfd: Support active high IRQs on WM835x
        mfd: Use bulk read to fill WM8350 register cache
        mfd: remove duplicated #include from pcf50633
      48f286a2
    • L
      Merge branch 'for-linus' of git://repo.or.cz/cris-mirror · ea431793
      Linus Torvalds 提交于
      * 'for-linus' of git://repo.or.cz/cris-mirror:
        CRISv32: Remove extraneous space between -I and the path.
        cris: convert obsolete hw_interrupt_type to struct irq_chip
        BUG to BUG_ON changes
        cpumask: use mm_cpumask() wrapper: cris
        cpumask: Use accessors code.: cris
        cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris
      ea431793
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · 32fb6c17
      Linus Torvalds 提交于
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (140 commits)
        ACPI: processor: use .notify method instead of installing handler directly
        ACPI: button: use .notify method instead of installing handler directly
        ACPI: support acpi_device_ops .notify methods
        toshiba-acpi: remove MAINTAINERS entry
        ACPI: battery: asynchronous init
        acer-wmi: Update copyright notice & documentation
        acer-wmi: Cleanup the failure cleanup handling
        acer-wmi: Blacklist Acer Aspire One
        video: build fix
        thinkpad-acpi: rework brightness support
        thinkpad-acpi: enhanced debugging messages for the fan subdriver
        thinkpad-acpi: enhanced debugging messages for the hotkey subdriver
        thinkpad-acpi: enhanced debugging messages for rfkill subdrivers
        thinkpad-acpi: restrict access to some firmware LEDs
        thinkpad-acpi: remove HKEY disable functionality
        thinkpad-acpi: add new debug helpers and warn of deprecated atts
        thinkpad-acpi: add missing log levels
        thinkpad-acpi: cleanup debug helpers
        thinkpad-acpi: documentation cleanup
        thinkpad-acpi: drop ibm-acpi alias
        ...
      32fb6c17
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 45e36c16
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
        sh: sh7785lcr: Map whole PCI address space.
        sh: Fix up DSP context save/restore.
        sh: Fix up number of on-chip DMA channels on SH7091.
        sh: update defconfigs.
        sh: Kill off broken direct-mapped cache mode.
        sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.
        sh: Add a command line option for disabling I/O trapping.
        sh: Select ARCH_HIBERNATION_POSSIBLE.
        sh: migor: Fix up CEU use flags.
        input: migor_ts: add wakeup support
        rtc: rtc-sh: use set_irq_wake()
        input: sh_keysc: use enable/disable_irq_wake()
        sh: intc: set_irq_wake() support
        sh: intc: install enable, disable and shutdown callbacks
        clocksource: sh_cmt: use remove_irq() and remove clockevent workaround
        sh: ap325 and Migo-R use new sh_mobile_ceu_info flags
        sh: Fix up -Wformat-security whining.
        sh: ap325rxa: Add ov772x support, again.
        sh: Sanitize asm/mmu.h for assembly use.
        sh: Tidy up sh7786 pinmux table.
        ...
      45e36c16
    • L
      Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 · 87fc94d5
      Linus Torvalds 提交于
      * 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
        avr32: add hardware handshake support to atmel_serial
        avr32: add RTS/CTS/CLK pin selection for the USARTs
        Add RTC support for Merisc boards
        avr32: at32ap700x: setup DMA for AC97C in the machine code
        avr32: at32ap700x: setup DMA for ABDAC in the machine code
        Add Merisc board support
        avr32: use gpio_is_valid() to check USBA vbus_pin I/O line
        atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line
        avr32: fix timing LCD parameters for EVKLCD10X boards
        avr32: use GPIO line PB15 on EVKLCD10x boards for backlight
        avr32: configure MCI detect and write protect pins for EVKLCD10x boards
        avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards
        avr32: add pin mask for 18-bit color on the LCD controller
        avr32: fix 15-bit LCDC pin mask to use MSB lines
      87fc94d5
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 3516c6a8
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (714 commits)
        Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers
        Staging: serqt_usb: fix build due to proc tty changes
        Staging: serqt_usb: fix checkpatch errors
        Staging: serqt_usb: add TODO file
        Staging: serqt_usb: Lindent the code
        Staging: add USB serial Quatech driver
        staging: document that the wifi staging drivers a bit better
        Staging: echo cleanup
        Staging: BUG to BUG_ON changes
        Staging: remove some pointless conditionals before kfree_skb()
        Staging: line6: fix build error, select SND_RAWMIDI
        Staging: line6: fix checkpatch errors in variax.c
        Staging: line6: fix checkpatch errors in toneport.c
        Staging: line6: fix checkpatch errors in pcm.c
        Staging: line6: fix checkpatch errors in midibuf.c
        Staging: line6: fix checkpatch errors in midi.c
        Staging: line6: fix checkpatch errors in dumprequest.c
        Staging: line6: fix checkpatch errors in driver.c
        Staging: line6: fix checkpatch errors in audio.c
        Staging: line6: fix checkpatch errors in pod.c
        ...
      3516c6a8
    • L
      Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 714f83d5
      Linus Torvalds 提交于
      * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
        tracing, net: fix net tree and tracing tree merge interaction
        tracing, powerpc: fix powerpc tree and tracing tree interaction
        ring-buffer: do not remove reader page from list on ring buffer free
        function-graph: allow unregistering twice
        trace: make argument 'mem' of trace_seq_putmem() const
        tracing: add missing 'extern' keywords to trace_output.h
        tracing: provide trace_seq_reserve()
        blktrace: print out BLK_TN_MESSAGE properly
        blktrace: extract duplidate code
        blktrace: fix memory leak when freeing struct blk_io_trace
        blktrace: fix blk_probes_ref chaos
        blktrace: make classic output more classic
        blktrace: fix off-by-one bug
        blktrace: fix the original blktrace
        blktrace: fix a race when creating blk_tree_root in debugfs
        blktrace: fix timestamp in binary output
        tracing, Text Edit Lock: cleanup
        tracing: filter fix for TRACE_EVENT_FORMAT events
        ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
        x86: kretprobe-booster interrupt emulation code fix
        ...
      
      Fix up trivial conflicts in
       arch/parisc/include/asm/ftrace.h
       include/linux/memory.h
       kernel/extable.c
       kernel/module.c
      714f83d5
    • E
      Audit: remove spaces from audit_log_d_path · def57543
      Eric Paris 提交于
      audit_log_d_path had spaces in the strings which would be emitted on the
      error paths.  This patch simply replaces those spaces with an _ or removes
      the needless spaces entirely.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      def57543
    • E
      audit: audit_set_auditable defined but not used · 679173b7
      Eric Paris 提交于
      after 0590b933 audit_set_auditable() is now only
      used by the audit tree code.  If CONFIG_AUDIT_TREE is unset it will be defined
      but unused.  This patch simply moves the function inside a CONFIG_AUDIT_TREE
      block.
      
      cc1: warnings being treated as errors
      /home/acme_unencrypted/git/linux-2.6-tip/kernel/auditsc.c:745: error: ‘audit_set_auditable’ defined but not used
      make[2]: *** [kernel/auditsc.o] Error 1
      make[1]: *** [kernel] Error 2
      make[1]: *** Waiting for unfinished jobs....
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      679173b7
    • E
      audit: incorrect ref counting in audit tree tag_chunk · 318b6d3d
      Eric Paris 提交于
      tag_chunk has bad exit paths in which the inotify ref counting is wrong.
      At the top of the function we found &old_watch using  inotify_find_watch().
      inotify_find_watch takes a reference to the watch.  This is never dropped
      on an error path.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      318b6d3d
    • P
      audit: Fix possible return value truncation in audit_get_context() · 6d208da8
      Paul Moore 提交于
      The audit subsystem treats syscall return codes as type long, unfortunately
      the audit_get_context() function mistakenly converts the return code to an
      int type in the parameters which could cause problems on systems where the
      sizeof(int) != sizeof(long).
      Signed-off-by: NPaul Moore <paul.moore@hp.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6d208da8
    • M
      audit: ignore terminating NUL in AUDIT_USER_TTY messages · 55ad2f8d
      Miloslav Trmac 提交于
      AUDIT_USER_TTY, like all other messages sent from user-space, is sent
      NUL-terminated.  Unlike other user-space audit messages, which come only
      from trusted sources, AUDIT_USER_TTY messages are processed using
      audit_log_n_untrustedstring().
      
      This patch modifies AUDIT_USER_TTY handling to ignore the trailing NUL
      and use the "quoted_string" representation of the message if possible.
      Signed-off-by: NMiloslav Trmac <mitr@redhat.com>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Steve Grubb <sgrubb@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      55ad2f8d
    • M
      Audit: fix handling of 'strings' with NULL characters · b3897f56
      Miloslav Trmac 提交于
      currently audit_log_n_untrustedstring() uses audit_string_contains_control()
      to check if the 'string' has any control characters.  If the 'string' has an
      embedded NULL audit_string_contains_control() will return that the data has
      no control characters and will then pass the string to audit_log_n_string
      with the total length, not the length up to the first NULL.
      audit_log_n_string() does a memcpy of the entire length and so the actual
      audit record emitted may then contain a NULL and then whatever random memory
      is after the NULL.
      
      Since we want to log the entire octet stream (if we can't trust the data
      to be a string we can't trust that a NULL isn't actually a part of it)
      we should just consider NULL as a control character.  If the caller is
      certain they want to stop at the first NULL they should be using
      audit_log_untrustedstring.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b3897f56
    • Z
      make the e->rule.xxx shorter in kernel auditfilter.c · c28bb7da
      Zhenwen Xu 提交于
      make the e->rule.xxx shorter in kernel/auditfilter.c
      --
      ---------------------------------
      Zhenwen Xu - Open and Free
      Home Page:	http://zhwen.org
      My Studio:	http://dim4.cn
      
      >From 99692dc640b278f1cb1a15646ce42f22e89c0f77 Mon Sep 17 00:00:00 2001
      From: Zhenwen Xu <Helight.Xu@gmail.com>
      Date: Thu, 12 Mar 2009 22:04:59 +0800
      Subject: [PATCH] make the e->rule.xxx shorter in kernel/auditfilter.c
      Signed-off-by: NZhenwen Xu <Helight.Xu@gmail.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      c28bb7da
    • R
      auditsc: fix kernel-doc notation · 6b962559
      Randy Dunlap 提交于
      Fix auditsc kernel-doc notation:
      
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): No description found for parameter 'attr'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): Excess function parameter 'u_attr' description in '__audit_mq_open'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): No description found for parameter 'notification'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): Excess function parameter 'u_notification' description in '__audit_mq_notify'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      cc:	Al Viro <viro@zeniv.linux.org.uk>
      cc:	Eric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6b962559
    • J
      audit: EXECVE record - removed bogus newline · ca96a895
      Jiri Pirko 提交于
      (updated)
      Added hunk that changes the comment, the rest is the same.
      
      EXECVE records contain a newline after every argument. auditd converts
      "\n" to " " so you cannot see newlines even in raw logs, but they're
      there nevertheless. If you're not using auditd, you need to work round
      them. These '\n' chars are can be easily replaced by spaces when
      creating record in kernel. Note there is no need for trailing '\n' in
      an audit record.
      
      record before this patch:
      "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\"\na1=\"a\"\na2=\"b\"\na3=\"c\"\n"
      
      record after this patch:
      "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\" a1=\"a\" a2=\"b\" a3=\"c\""
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      Acked-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ca96a895
    • L
      Merge branch 'bzip2-lzma-for-linus' of... · 8901e7ff
      Linus Torvalds 提交于
      Merge branch 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
      
      * 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
        bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE
      8901e7ff
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask · 90975ef7
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)
        cpumask: remove cpumask allocation from idle_balance, fix
        numa, cpumask: move numa_node_id default implementation to topology.h, fix
        cpumask: remove cpumask allocation from idle_balance
        x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus
        x86: cpumask: update 32-bit APM not to mug current->cpus_allowed
        x86: microcode: cleanup
        x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c
        cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash
        numa, cpumask: move numa_node_id default implementation to topology.h
        cpumask: convert node_to_cpumask_map[] to cpumask_var_t
        cpumask: remove x86 cpumask_t uses.
        cpumask: use cpumask_var_t in uv_flush_tlb_others.
        cpumask: remove cpumask_t assignment from vector_allocation_domain()
        cpumask: make Xen use the new operators.
        cpumask: clean up summit's send_IPI functions
        cpumask: use new cpumask functions throughout x86
        x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask
        cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t
        cpumask: convert node_to_cpumask_map[] to cpumask_var_t
        x86: unify 32 and 64-bit node_to_cpumask_map
        ...
      90975ef7
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param · cab4e4c4
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:
        module: use strstarts()
        strstarts: helper function for !strncmp(str, prefix, strlen(prefix))
        arm: allow usage of string functions in linux/string.h
        module: don't use stop_machine on module load
        module: create a request_module_nowait()
        module: include other structures in module version check
        module: remove the SHF_ALLOC flag on the __versions section.
        module: clarify the force-loading taint message.
        module: Export symbols needed for Ksplice
        Ksplice: Add functions for walking kallsyms symbols
        module: remove module_text_address()
        module: __module_address
        module: Make find_symbol return a struct kernel_symbol
        kernel/module.c: fix an unused goto label
        param: fix charp parameters set via sysfs
      
      Fix trivial conflicts in kernel/extable.c manually.
      cab4e4c4
    • L
      Merge branch 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 5412b539
      Linus Torvalds 提交于
      * 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        debugobjects: delay free of internal objects
        debugobjects: replace static objects when slab cache becomes available
        debug_objects: add boot-parameter toggle to turn object debugging off again
      5412b539
    • L
      Merge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · e4c393fd
      Linus Torvalds 提交于
      * 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        printk: correct the behavior of printk_timed_ratelimit()
        vsprintf: unify the format decoding layer for its 3 users, cleanup
        fix regression from "vsprintf: unify the format decoding layer for its 3 users"
        vsprintf: fix bug in negative value printing
        vsprintf: unify the format decoding layer for its 3 users
        vsprintf: add binary printf
        printk: introduce printk_once()
      
      Fix trivial conflicts (printk_once vs log_buf_kexec_setup() added near
      each other) in include/linux/kernel.h.
      e4c393fd
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc · 0a053e8c
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits)
        atmel-mci: fix sdc_reg typo
        tmio_mmc: add maintainer
        mmc: Add OpenFirmware bindings for SDHCI driver
        sdhci: Add quirk for forcing maximum block size to 2048 bytes
        sdhci: Add quirk for controllers that need IRQ re-init after reset
        sdhci: Add quirk for controllers that need small delays for PIO
        sdhci: Add set_clock callback and a quirk for nonstandard clocks
        sdhci: Add get_{max,timeout}_clock callbacks
        sdhci: Add support for hosts reporting inverted write-protect state
        sdhci: Add support for card-detection polling
        sdhci: Enable only relevant (DMA/PIO) interrupts during transfers
        sdhci: Split card-detection IRQs management from sdhci_init()
        sdhci: Add support for bus-specific IO memory accessors
        mmc_spi: adjust for delayed data token response
        omap_hsmmc: Wait for SDBP
        omap_hsmmc: Fix MMC3 dma
        omap_hsmmc: Disable SDBP at suspend
        omap_hsmmc: Do not prefix slot name
        omap_hsmmc: Allow cover switch to cause rescan
        omap_hsmmc: Add 8-bit bus width mode support
        ...
      0a053e8c
  2. 05 4月, 2009 14 次提交