diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/generic/patches-2.6.38/010-l2tp_fix_oops_backport.patch (renamed from target/linux/generic/patches-2.6.38/160-l2tp_fix_oops_backport.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/020-ssb_update.patch (renamed from target/linux/generic/patches-2.6.38/941-ssb_update.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/067-block2mtd_2.6.38_fix.patch | 35 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/100-overlayfs.patch (renamed from target/linux/generic/patches-2.6.38/209-overlayfs.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/101-overlayfs_fix_readdir_deadlock.patch (renamed from target/linux/generic/patches-2.6.38/210-overlayfs_fix_readdir_deadlock.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/102-overlayfs_fix_readdir_unlink_deadlock.patch (renamed from target/linux/generic/patches-2.6.38/211-overlayfs_fix_readdir_unlink_deadlock.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/200-fix_localversion.patch (renamed from target/linux/generic/patches-2.6.38/001-fix_localversion.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/201-extra_optimization.patch (renamed from target/linux/generic/patches-2.6.38/012-extra_optimization.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/210-darwin_scripts_include.patch (renamed from target/linux/generic/patches-2.6.38/902-darwin_scripts_include.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/211-stddef_include.patch (renamed from target/linux/generic/patches-2.6.38/903-stddef_include.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/220-module_exports.patch (renamed from target/linux/generic/patches-2.6.38/028-module_exports.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/230-openwrt_lzma_options.patch (renamed from target/linux/generic/patches-2.6.38/998-openwrt_lzma_options.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/250-netfilter_depends.patch (renamed from target/linux/generic/patches-2.6.38/180-netfilter_depends.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/251-sound_kconfig.patch (renamed from target/linux/generic/patches-2.6.38/220-sound_kconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/252-mv_cesa_depends.patch (renamed from target/linux/generic/patches-2.6.38/972-mv_cesa_depends.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/253-ssb_b43_default_on.patch (renamed from target/linux/generic/patches-2.6.38/974-ssb_b43_default_on.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/254-textsearch_kconfig_hacks.patch (renamed from target/linux/generic/patches-2.6.38/977-textsearch_kconfig_hacks.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/255-lib80211_kconfig_hacks.patch (renamed from target/linux/generic/patches-2.6.38/978-lib80211_kconfig_hacks.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/256-crypto_add_kconfig_prompts.patch (renamed from target/linux/generic/patches-2.6.38/979-crypto_add_kconfig_prompts.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/257-wireless_ext_kconfig_hack.patch (renamed from target/linux/generic/patches-2.6.38/981-wireless_ext_kconfig_hack.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/258-make_config_average_selectable.patch (renamed from target/linux/generic/patches-2.6.38/982-make-config-average-selectable.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/300-mips_expose_boot_raw.patch (renamed from target/linux/generic/patches-2.6.38/011-mips_expose_boot_raw.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/301-mips_image_cmdline_hack.patch (renamed from target/linux/generic/patches-2.6.38/021-mips_image_cmdline_hack.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/302-mips_use_generic_thread_info_allocator.patch (renamed from target/linux/generic/patches-2.6.38/022-mips_use_generic_thread_info_allocator.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/303-mips_fix_kexec.patch (renamed from target/linux/generic/patches-2.6.38/023-mips-fix-kexec.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/304-mips_disable_fpu.patch (renamed from target/linux/generic/patches-2.6.38/025-mips_disable_fpu.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/305-mips_module_reloc.patch (renamed from target/linux/generic/patches-2.6.38/027-mips_module_reloc.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/306-mips_mem_functions_performance.patch (renamed from target/linux/generic/patches-2.6.38/202-mips_mem_functions_performance.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/307-mips_oprofile_fix.patch (renamed from target/linux/generic/patches-2.6.38/208-mips_oprofile_fix.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/310-arm_module_unresolved_weak_sym.patch (renamed from target/linux/generic/patches-2.6.38/029-arm_module_unresolved_weak_sym.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/311-arm_update_mach_types.patch (renamed from target/linux/generic/patches-2.6.38/040-arm_update_mach-types.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/320-ppc4xx_optimization.patch (renamed from target/linux/generic/patches-2.6.38/991-ppc4xx_optimization.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/321-powerpc_crtsavres_prereq.patch (renamed from target/linux/generic/patches-2.6.38/950-powerpc_crtsavres_prereq.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/400-rootfs_split.patch (renamed from target/linux/generic/patches-2.6.38/065-rootfs_split.patch) | 290 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/401-partial_eraseblock_write.patch (renamed from target/linux/generic/patches-2.6.38/222-partial_eraseblock_write.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/410-mtd_info_move_forward_decl.patch (renamed from target/linux/generic/patches-2.6.38/082-mtd_info_move_forward_decl.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/420-redboot_space.patch (renamed from target/linux/generic/patches-2.6.38/070-redboot_space.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/421-redboot_boardconfig.patch (renamed from target/linux/generic/patches-2.6.38/071-redboot_boardconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/430-mtd_myloader_partition_parser.patch (renamed from target/linux/generic/patches-2.6.38/081-mtd_myloader_partition_parser.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/440-block2mtd_init.patch (renamed from target/linux/generic/patches-2.6.38/060-block2mtd_init.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/441-block2mtd_refresh.patch | 291 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/442-block2mtd_probe.patch (renamed from target/linux/generic/patches-2.6.38/066-block2mtd_probe.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/450-mtd_plat_nand_chip_fixup.patch (renamed from target/linux/generic/patches-2.6.38/080-mtd_plat_nand_chip_fixup.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/451-mtd_fix_nand_correct_data_return_code.patch (renamed from target/linux/generic/patches-2.6.38/083-mtd_fix_nand_correct_data_return_code.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/460-cfi_show_amd_extended_table_version.patch (renamed from target/linux/generic/patches-2.6.38/014-cfi_show_amd_extended_table_version.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/470-mtd_m25p80_add_pm25lv_flash_support.patch (renamed from target/linux/generic/patches-2.6.38/084-mtd_m25p80_add_pm25lv_flash_support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/471-mtd_m25p80_add_en25f32_chip_support.patch (renamed from target/linux/generic/patches-2.6.38/090-mtd-m25p80-add-en25f32-chip-support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/472-mtd_m25p80_add_MX25L1606E_support.patch (renamed from target/linux/generic/patches-2.6.38/091-mtd-m25p80-add-MX25L1606E-support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/500-yaffs_support.patch (renamed from target/linux/generic/patches-2.6.38/510-yaffs_support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/501-yaffs_cvs_2009_04_24.patch (renamed from target/linux/generic/patches-2.6.38/511-yaffs-cvs-2009-04-24.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/502-yaffs_git_2010_10_20.patch (renamed from target/linux/generic/patches-2.6.38/511-yaffs-git-2010-10-20.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/503-yaffs_symlink_bug.patch (renamed from target/linux/generic/patches-2.6.38/512-yaffs_symlink_bug.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/504-yaffs_mutex_fix.patch (renamed from target/linux/generic/patches-2.6.38/513-yaffs_mutex_fix.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/510-jffs2_make_lzma_available.patch (renamed from target/linux/generic/patches-2.6.38/008-jffs2_make_lzma_available.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/511-debloat_lzma.patch (renamed from target/linux/generic/patches-2.6.38/010-debloat_lzma.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/512-jffs2_eofdetect.patch (renamed from target/linux/generic/patches-2.6.38/204-jffs2_eofdetect.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/600-netfilter_layer7_2.22.patch (renamed from target/linux/generic/patches-2.6.38/100-netfilter_layer7_2.22.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/601-netfilter_layer7_pktmatch.patch (renamed from target/linux/generic/patches-2.6.38/101-netfilter_layer7_pktmatch.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/602-netfilter_layer7_match.patch (renamed from target/linux/generic/patches-2.6.38/102-netfilter_layer7_match.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/603-netfilter_layer7_2.6.36_fix.patch (renamed from target/linux/generic/patches-2.6.38/103-netfilter_layer7_2.6.36_fix.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/604-netfilter_cisco_794x_iphone.patch (renamed from target/linux/generic/patches-2.6.38/160-netfilter_cisco_794x_iphone.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/605-netfilter_rtsp.patch (renamed from target/linux/generic/patches-2.6.38/190-netfilter_rtsp.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/620-sched_esfq.patch (renamed from target/linux/generic/patches-2.6.38/200-sched_esfq.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/621-sched_act_connmark.patch (renamed from target/linux/generic/patches-2.6.38/290-sched_act_connmark.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/630-packet_socket_type.patch (renamed from target/linux/generic/patches-2.6.38/240-packet_socket_type.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/640-bridge_no_eap_forward.patch (renamed from target/linux/generic/patches-2.6.38/270-bridge_no_eap_forward.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/641-bridge_always_accept_eap.patch (renamed from target/linux/generic/patches-2.6.38/271-bridge_always_accept_eap.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/642-bridge_port_isolate.patch (renamed from target/linux/generic/patches-2.6.38/300-bridge_port_isolate.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/650-pppoe_header_pad.patch (renamed from target/linux/generic/patches-2.6.38/250-pppoe_header_pad.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/651-wireless_mesh_header.patch (renamed from target/linux/generic/patches-2.6.38/940-wireless_mesh_header.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/700-swconfig.patch (renamed from target/linux/generic/patches-2.6.38/650-swconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/701-phy_extension.patch (renamed from target/linux/generic/patches-2.6.38/600-phy_extension.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/702-phy_add_aneg_done_function.patch (renamed from target/linux/generic/patches-2.6.38/601-phy-add-aneg-done-function.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/720-phy_adm6996.patch (renamed from target/linux/generic/patches-2.6.38/620-phy_adm6996.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/721-phy_packets.patch (renamed from target/linux/generic/patches-2.6.38/630-phy_packets.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/722-phy_mvswitch.patch (renamed from target/linux/generic/patches-2.6.38/660-phy_mvswitch.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/723-phy_ip175c.patch (renamed from target/linux/generic/patches-2.6.38/670-phy_ip175c.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/724-phy_ar8216.patch (renamed from target/linux/generic/patches-2.6.38/680-phy_ar8216.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/725-phy_rtl8306.patch (renamed from target/linux/generic/patches-2.6.38/690-phy_rtl8306.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/726-phy_rtl8366.patch (renamed from target/linux/generic/patches-2.6.38/691-phy_rtl8366.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/750-hostap_txpower.patch (renamed from target/linux/generic/patches-2.6.38/903-hostap_txpower.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/810-pci_disable_common_quirks.patch (renamed from target/linux/generic/patches-2.6.38/030-pci_disable_common_quirks.patch) | 12 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/811-pci_disable_usb_common_quirks.patch (renamed from target/linux/generic/patches-2.6.38/031-pci_disable_usb_common_quirks.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/820-usb_add_usb_find_device_by_name.patch (renamed from target/linux/generic/patches-2.6.38/310-usb-add-usb_find_device_by_name.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/821-usb_serial_endpoint_size.patch (renamed from target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch) | 6 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/830-ledtrig_morse.patch (renamed from target/linux/generic/patches-2.6.38/400-ledtrig_morse.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/831-ledtrig_netdev.patch (renamed from target/linux/generic/patches-2.6.38/402-ledtrig_netdev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/832-ledtrig_usbdev.patch (renamed from target/linux/generic/patches-2.6.38/403-ledtrig-usbdev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/833-gpio_buttons.patch (renamed from target/linux/generic/patches-2.6.38/410-gpio_buttons.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/834-gpio_ioctl.patch (renamed from target/linux/generic/patches-2.6.38/411-gpio_ioctl.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/835-gpiodev.patch (renamed from target/linux/generic/patches-2.6.38/420-gpiodev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/840-rtc7301.patch (renamed from target/linux/generic/patches-2.6.38/700-rtc7301.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/850-glamo_headers.patch (renamed from target/linux/generic/patches-2.6.38/750-glamo-headers.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/860-01_hotpluggable_spi_gpio.patch (renamed from target/linux/generic/patches-2.6.38/920-01-hotpluggable-spi-gpio.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/861-04_spi_gpio_implement_spi_delay.patch (renamed from target/linux/generic/patches-2.6.38/920-04-spi-gpio-implement-spi-delay.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/862-gpio_spi_driver.patch (renamed from target/linux/generic/patches-2.6.38/921-gpio_spi_driver.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/863-gpiommc.patch (renamed from target/linux/generic/patches-2.6.38/922-gpiommc.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/864-gpiommc_configfs_locking.patch (renamed from target/linux/generic/patches-2.6.38/923-gpiommc-configfs-locking.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/870-hifn795x_byteswap.patch (renamed from target/linux/generic/patches-2.6.38/975-hifn795x-byteswap.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/900-slab_maxsize.patch (renamed from target/linux/generic/patches-2.6.38/203-slab_maxsize.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/910-kobject_uevent.patch (renamed from target/linux/generic/patches-2.6.38/219-kobject_uevent.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/911-kobject_add_broadcast_uevent.patch (renamed from target/linux/generic/patches-2.6.38/223-kobject-add-broadcast_uevent.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/920-unable_to_open_console.patch (renamed from target/linux/generic/patches-2.6.38/840-unable_to_open_console.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/921-use_preinit_as_init.patch (renamed from target/linux/generic/patches-2.6.38/999-use_preinit_as_init.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/940-ocf_kbuild_integration.patch (renamed from target/linux/generic/patches-2.6.38/970-ocf_kbuild_integration.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/941-ocf_20100325.patch (renamed from target/linux/generic/patches-2.6.38/971-ocf_20100325.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/950-vm_exports.patch (renamed from target/linux/generic/patches-2.6.38/980-vm_exports.patch) | 48 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.38/960-decompress_unlzo_fix.patch (renamed from target/linux/generic/patches-2.6.38/009-decompress_unlzo_fix.patch) | 0 |
108 files changed, 324 insertions, 380 deletions
diff --git a/target/linux/generic/patches-2.6.38/160-l2tp_fix_oops_backport.patch b/target/linux/generic/patches-2.6.38/010-l2tp_fix_oops_backport.patch index d8b7b5ad3d..d8b7b5ad3d 100644 --- a/target/linux/generic/patches-2.6.38/160-l2tp_fix_oops_backport.patch +++ b/target/linux/generic/patches-2.6.38/010-l2tp_fix_oops_backport.patch diff --git a/target/linux/generic/patches-2.6.38/941-ssb_update.patch b/target/linux/generic/patches-2.6.38/020-ssb_update.patch index 0d86b7e589..0d86b7e589 100644 --- a/target/linux/generic/patches-2.6.38/941-ssb_update.patch +++ b/target/linux/generic/patches-2.6.38/020-ssb_update.patch diff --git a/target/linux/generic/patches-2.6.38/067-block2mtd_2.6.38_fix.patch b/target/linux/generic/patches-2.6.38/067-block2mtd_2.6.38_fix.patch deleted file mode 100644 index 1a052b3f43..0000000000 --- a/target/linux/generic/patches-2.6.38/067-block2mtd_2.6.38_fix.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/drivers/mtd/devices/block2mtd.c -+++ b/drivers/mtd/devices/block2mtd.c -@@ -264,12 +264,13 @@ static int _open_bdev(struct block2mtd_d - bdev = blkdev_get_by_path(dev->devname, mode, dev); - #ifndef MODULE - if (IS_ERR(bdev)) { -+ dev_t devt; - - /* We might not have rootfs mounted at this point. Try - to resolve the device name by other means. */ - - wait_for_device_probe(); -- dev_t devt = name_to_dev_t(dev->devname); -+ devt = name_to_dev_t(dev->devname); - if (devt) - bdev = blkdev_get_by_dev(devt, mode, dev); - } -@@ -330,7 +331,7 @@ static int block2mtd_refresh(struct mtd_ - _close_bdev(dev); - - /* open the whole disk, issue a partition rescan, then */ -- bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ); -+ bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ, mtd); - if (!bdev || !bdev->bd_disk) - err = -EINVAL; - #ifndef CONFIG_MTD_BLOCK2MTD_MODULE -@@ -395,7 +396,7 @@ static struct block2mtd_dev *add_device( - dev->mtd.refresh_device = block2mtd_refresh; - - part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); -- part->name = dev->mtd.name; -+ part->name = name; - part->offset = 0; - part->size = dev->mtd.size; - if (add_mtd_partitions(&dev->mtd, part, 1)) { diff --git a/target/linux/generic/patches-2.6.38/209-overlayfs.patch b/target/linux/generic/patches-2.6.38/100-overlayfs.patch index d526865a08..d526865a08 100644 --- a/target/linux/generic/patches-2.6.38/209-overlayfs.patch +++ b/target/linux/generic/patches-2.6.38/100-overlayfs.patch diff --git a/target/linux/generic/patches-2.6.38/210-overlayfs_fix_readdir_deadlock.patch b/target/linux/generic/patches-2.6.38/101-overlayfs_fix_readdir_deadlock.patch index 81ef4c084f..81ef4c084f 100644 --- a/target/linux/generic/patches-2.6.38/210-overlayfs_fix_readdir_deadlock.patch +++ b/target/linux/generic/patches-2.6.38/101-overlayfs_fix_readdir_deadlock.patch diff --git a/target/linux/generic/patches-2.6.38/211-overlayfs_fix_readdir_unlink_deadlock.patch b/target/linux/generic/patches-2.6.38/102-overlayfs_fix_readdir_unlink_deadlock.patch index 6f4ceb4b77..6f4ceb4b77 100644 --- a/target/linux/generic/patches-2.6.38/211-overlayfs_fix_readdir_unlink_deadlock.patch +++ b/target/linux/generic/patches-2.6.38/102-overlayfs_fix_readdir_unlink_deadlock.patch diff --git a/target/linux/generic/patches-2.6.38/001-fix_localversion.patch b/target/linux/generic/patches-2.6.38/200-fix_localversion.patch index 70ed0ff3cb..70ed0ff3cb 100644 --- a/target/linux/generic/patches-2.6.38/001-fix_localversion.patch +++ b/target/linux/generic/patches-2.6.38/200-fix_localversion.patch diff --git a/target/linux/generic/patches-2.6.38/012-extra_optimization.patch b/target/linux/generic/patches-2.6.38/201-extra_optimization.patch index d173e4c753..d173e4c753 100644 --- a/target/linux/generic/patches-2.6.38/012-extra_optimization.patch +++ b/target/linux/generic/patches-2.6.38/201-extra_optimization.patch diff --git a/target/linux/generic/patches-2.6.38/902-darwin_scripts_include.patch b/target/linux/generic/patches-2.6.38/210-darwin_scripts_include.patch index 0686a38973..0686a38973 100644 --- a/target/linux/generic/patches-2.6.38/902-darwin_scripts_include.patch +++ b/target/linux/generic/patches-2.6.38/210-darwin_scripts_include.patch diff --git a/target/linux/generic/patches-2.6.38/903-stddef_include.patch b/target/linux/generic/patches-2.6.38/211-stddef_include.patch index 7fe248d8d3..7fe248d8d3 100644 --- a/target/linux/generic/patches-2.6.38/903-stddef_include.patch +++ b/target/linux/generic/patches-2.6.38/211-stddef_include.patch diff --git a/target/linux/generic/patches-2.6.38/028-module_exports.patch b/target/linux/generic/patches-2.6.38/220-module_exports.patch index 5268115f01..5268115f01 100644 --- a/target/linux/generic/patches-2.6.38/028-module_exports.patch +++ b/target/linux/generic/patches-2.6.38/220-module_exports.patch diff --git a/target/linux/generic/patches-2.6.38/998-openwrt_lzma_options.patch b/target/linux/generic/patches-2.6.38/230-openwrt_lzma_options.patch index 67e0ceefb0..67e0ceefb0 100644 --- a/target/linux/generic/patches-2.6.38/998-openwrt_lzma_options.patch +++ b/target/linux/generic/patches-2.6.38/230-openwrt_lzma_options.patch diff --git a/target/linux/generic/patches-2.6.38/180-netfilter_depends.patch b/target/linux/generic/patches-2.6.38/250-netfilter_depends.patch index d270e9020b..d270e9020b 100644 --- a/target/linux/generic/patches-2.6.38/180-netfilter_depends.patch +++ b/target/linux/generic/patches-2.6.38/250-netfilter_depends.patch diff --git a/target/linux/generic/patches-2.6.38/220-sound_kconfig.patch b/target/linux/generic/patches-2.6.38/251-sound_kconfig.patch index fb3df254dc..fb3df254dc 100644 --- a/target/linux/generic/patches-2.6.38/220-sound_kconfig.patch +++ b/target/linux/generic/patches-2.6.38/251-sound_kconfig.patch diff --git a/target/linux/generic/patches-2.6.38/972-mv_cesa_depends.patch b/target/linux/generic/patches-2.6.38/252-mv_cesa_depends.patch index 1fd2f6365a..1fd2f6365a 100644 --- a/target/linux/generic/patches-2.6.38/972-mv_cesa_depends.patch +++ b/target/linux/generic/patches-2.6.38/252-mv_cesa_depends.patch diff --git a/target/linux/generic/patches-2.6.38/974-ssb_b43_default_on.patch b/target/linux/generic/patches-2.6.38/253-ssb_b43_default_on.patch index 3176dcb4d8..3176dcb4d8 100644 --- a/target/linux/generic/patches-2.6.38/974-ssb_b43_default_on.patch +++ b/target/linux/generic/patches-2.6.38/253-ssb_b43_default_on.patch diff --git a/target/linux/generic/patches-2.6.38/977-textsearch_kconfig_hacks.patch b/target/linux/generic/patches-2.6.38/254-textsearch_kconfig_hacks.patch index b5d9a7ecd0..e9577ba5a0 100644 --- a/target/linux/generic/patches-2.6.38/977-textsearch_kconfig_hacks.patch +++ b/target/linux/generic/patches-2.6.38/254-textsearch_kconfig_hacks.patch @@ -1,6 +1,6 @@ --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -164,16 +164,16 @@ config REED_SOLOMON_DEC16 +@@ -158,16 +158,16 @@ config REED_SOLOMON_DEC16 # Textsearch support is select'ed if needed # config TEXTSEARCH diff --git a/target/linux/generic/patches-2.6.38/978-lib80211_kconfig_hacks.patch b/target/linux/generic/patches-2.6.38/255-lib80211_kconfig_hacks.patch index c044deac00..c044deac00 100644 --- a/target/linux/generic/patches-2.6.38/978-lib80211_kconfig_hacks.patch +++ b/target/linux/generic/patches-2.6.38/255-lib80211_kconfig_hacks.patch diff --git a/target/linux/generic/patches-2.6.38/979-crypto_add_kconfig_prompts.patch b/target/linux/generic/patches-2.6.38/256-crypto_add_kconfig_prompts.patch index 8462c711f0..8462c711f0 100644 --- a/target/linux/generic/patches-2.6.38/979-crypto_add_kconfig_prompts.patch +++ b/target/linux/generic/patches-2.6.38/256-crypto_add_kconfig_prompts.patch diff --git a/target/linux/generic/patches-2.6.38/981-wireless_ext_kconfig_hack.patch b/target/linux/generic/patches-2.6.38/257-wireless_ext_kconfig_hack.patch index daac5898ae..daac5898ae 100644 --- a/target/linux/generic/patches-2.6.38/981-wireless_ext_kconfig_hack.patch +++ b/target/linux/generic/patches-2.6.38/257-wireless_ext_kconfig_hack.patch diff --git a/target/linux/generic/patches-2.6.38/982-make-config-average-selectable.patch b/target/linux/generic/patches-2.6.38/258-make_config_average_selectable.patch index 18fff0aa55..e66391cb0a 100644 --- a/target/linux/generic/patches-2.6.38/982-make-config-average-selectable.patch +++ b/target/linux/generic/patches-2.6.38/258-make_config_average_selectable.patch @@ -1,6 +1,6 @@ --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -223,6 +223,13 @@ config LRU_CACHE +@@ -217,6 +217,13 @@ config LRU_CACHE tristate config AVERAGE diff --git a/target/linux/generic/patches-2.6.38/011-mips_expose_boot_raw.patch b/target/linux/generic/patches-2.6.38/300-mips_expose_boot_raw.patch index bd83f665a3..bd83f665a3 100644 --- a/target/linux/generic/patches-2.6.38/011-mips_expose_boot_raw.patch +++ b/target/linux/generic/patches-2.6.38/300-mips_expose_boot_raw.patch diff --git a/target/linux/generic/patches-2.6.38/021-mips_image_cmdline_hack.patch b/target/linux/generic/patches-2.6.38/301-mips_image_cmdline_hack.patch index b499334556..b499334556 100644 --- a/target/linux/generic/patches-2.6.38/021-mips_image_cmdline_hack.patch +++ b/target/linux/generic/patches-2.6.38/301-mips_image_cmdline_hack.patch diff --git a/target/linux/generic/patches-2.6.38/022-mips_use_generic_thread_info_allocator.patch b/target/linux/generic/patches-2.6.38/302-mips_use_generic_thread_info_allocator.patch index 915bb5f92c..915bb5f92c 100644 --- a/target/linux/generic/patches-2.6.38/022-mips_use_generic_thread_info_allocator.patch +++ b/target/linux/generic/patches-2.6.38/302-mips_use_generic_thread_info_allocator.patch diff --git a/target/linux/generic/patches-2.6.38/023-mips-fix-kexec.patch b/target/linux/generic/patches-2.6.38/303-mips_fix_kexec.patch index e6928dde91..e6928dde91 100644 --- a/target/linux/generic/patches-2.6.38/023-mips-fix-kexec.patch +++ b/target/linux/generic/patches-2.6.38/303-mips_fix_kexec.patch diff --git a/target/linux/generic/patches-2.6.38/025-mips_disable_fpu.patch b/target/linux/generic/patches-2.6.38/304-mips_disable_fpu.patch index d1f60df64d..d1f60df64d 100644 --- a/target/linux/generic/patches-2.6.38/025-mips_disable_fpu.patch +++ b/target/linux/generic/patches-2.6.38/304-mips_disable_fpu.patch diff --git a/target/linux/generic/patches-2.6.38/027-mips_module_reloc.patch b/target/linux/generic/patches-2.6.38/305-mips_module_reloc.patch index 5513962cb2..5513962cb2 100644 --- a/target/linux/generic/patches-2.6.38/027-mips_module_reloc.patch +++ b/target/linux/generic/patches-2.6.38/305-mips_module_reloc.patch diff --git a/target/linux/generic/patches-2.6.38/202-mips_mem_functions_performance.patch b/target/linux/generic/patches-2.6.38/306-mips_mem_functions_performance.patch index 6ea9ba51ee..6ea9ba51ee 100644 --- a/target/linux/generic/patches-2.6.38/202-mips_mem_functions_performance.patch +++ b/target/linux/generic/patches-2.6.38/306-mips_mem_functions_performance.patch diff --git a/target/linux/generic/patches-2.6.38/208-mips_oprofile_fix.patch b/target/linux/generic/patches-2.6.38/307-mips_oprofile_fix.patch index f83c96bb81..f83c96bb81 100644 --- a/target/linux/generic/patches-2.6.38/208-mips_oprofile_fix.patch +++ b/target/linux/generic/patches-2.6.38/307-mips_oprofile_fix.patch diff --git a/target/linux/generic/patches-2.6.38/029-arm_module_unresolved_weak_sym.patch b/target/linux/generic/patches-2.6.38/310-arm_module_unresolved_weak_sym.patch index fe7027c070..fe7027c070 100644 --- a/target/linux/generic/patches-2.6.38/029-arm_module_unresolved_weak_sym.patch +++ b/target/linux/generic/patches-2.6.38/310-arm_module_unresolved_weak_sym.patch diff --git a/target/linux/generic/patches-2.6.38/040-arm_update_mach-types.patch b/target/linux/generic/patches-2.6.38/311-arm_update_mach_types.patch index 8f08864f21..8f08864f21 100644 --- a/target/linux/generic/patches-2.6.38/040-arm_update_mach-types.patch +++ b/target/linux/generic/patches-2.6.38/311-arm_update_mach_types.patch diff --git a/target/linux/generic/patches-2.6.38/991-ppc4xx_optimization.patch b/target/linux/generic/patches-2.6.38/320-ppc4xx_optimization.patch index 49d3659286..49d3659286 100644 --- a/target/linux/generic/patches-2.6.38/991-ppc4xx_optimization.patch +++ b/target/linux/generic/patches-2.6.38/320-ppc4xx_optimization.patch diff --git a/target/linux/generic/patches-2.6.38/950-powerpc_crtsavres_prereq.patch b/target/linux/generic/patches-2.6.38/321-powerpc_crtsavres_prereq.patch index 402cd0cacb..402cd0cacb 100644 --- a/target/linux/generic/patches-2.6.38/950-powerpc_crtsavres_prereq.patch +++ b/target/linux/generic/patches-2.6.38/321-powerpc_crtsavres_prereq.patch diff --git a/target/linux/generic/patches-2.6.38/065-rootfs_split.patch b/target/linux/generic/patches-2.6.38/400-rootfs_split.patch index 7a82354dd7..a8e4be6ae7 100644 --- a/target/linux/generic/patches-2.6.38/065-rootfs_split.patch +++ b/target/linux/generic/patches-2.6.38/400-rootfs_split.patch @@ -256,296 +256,6 @@ static DEFINE_SPINLOCK(part_parser_lock); static LIST_HEAD(part_parsers); ---- a/drivers/mtd/devices/block2mtd.c -+++ b/drivers/mtd/devices/block2mtd.c -@@ -30,6 +30,8 @@ struct block2mtd_dev { - struct block_device *blkdev; - struct mtd_info mtd; - struct mutex write_mutex; -+ rwlock_t bdev_mutex; -+ char devname[0]; - }; - - -@@ -82,6 +84,12 @@ static int block2mtd_erase(struct mtd_in - size_t len = instr->len; - int err; - -+ read_lock(&dev->bdev_mutex); -+ if (!dev->blkdev) { -+ err = -EINVAL; -+ goto done; -+ } -+ - instr->state = MTD_ERASING; - mutex_lock(&dev->write_mutex); - err = _block2mtd_erase(dev, from, len); -@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in - instr->state = MTD_ERASE_DONE; - - mtd_erase_callback(instr); -+ -+done: -+ read_unlock(&dev->bdev_mutex); -+ - return err; - } - -@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf - struct page *page; - int index = from >> PAGE_SHIFT; - int offset = from & (PAGE_SIZE-1); -- int cpylen; -+ int cpylen, err = 0; -+ -+ read_lock(&dev->bdev_mutex); -+ if (!dev->blkdev || (from > mtd->size)) { -+ err = -EINVAL; -+ goto done; -+ } - -- if (from > mtd->size) -- return -EINVAL; - if (from + len > mtd->size) - len = mtd->size - from; - -@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf - len = len - cpylen; - - page = page_read(dev->blkdev->bd_inode->i_mapping, index); -- if (!page) -- return -ENOMEM; -- if (IS_ERR(page)) -- return PTR_ERR(page); -+ if (!page) { -+ err = -ENOMEM; -+ goto done; -+ } -+ if (IS_ERR(page)) { -+ err = PTR_ERR(page); -+ goto done; -+ } - - memcpy(buf, page_address(page) + offset, cpylen); - page_cache_release(page); -@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf - offset = 0; - index++; - } -- return 0; -+ -+done: -+ read_unlock(&dev->bdev_mutex); -+ return err; - } - - -@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in - size_t *retlen, const u_char *buf) - { - struct block2mtd_dev *dev = mtd->priv; -- int err; -+ int err = 0; -+ -+ read_lock(&dev->bdev_mutex); -+ if (!dev->blkdev) { -+ err = -EINVAL; -+ goto done; -+ } - - if (!len) -- return 0; -- if (to >= mtd->size) -- return -ENOSPC; -+ goto done; -+ -+ if (to >= mtd->size) { -+ err = -ENOSPC; -+ goto done; -+ } -+ - if (to + len > mtd->size) - len = mtd->size - to; - -@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in - mutex_unlock(&dev->write_mutex); - if (err > 0) - err = 0; -+ -+done: -+ read_unlock(&dev->bdev_mutex); - return err; - } - -@@ -210,33 +246,109 @@ static int block2mtd_write(struct mtd_in - static void block2mtd_sync(struct mtd_info *mtd) - { - struct block2mtd_dev *dev = mtd->priv; -+ read_lock(&dev->bdev_mutex); -+ if (dev->blkdev) - sync_blockdev(dev->blkdev); -+ read_unlock(&dev->bdev_mutex); -+ - return; - } - - -+static int _open_bdev(struct block2mtd_dev *dev) -+{ -+ const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; -+ struct block_device *bdev; -+ -+ /* Get a handle on the device */ -+ bdev = blkdev_get_by_path(dev->devname, mode, dev); -+#ifndef MODULE -+ if (IS_ERR(bdev)) { -+ -+ /* We might not have rootfs mounted at this point. Try -+ to resolve the device name by other means. */ -+ -+ dev_t devt = name_to_dev_t(dev->devname); -+ if (devt) -+ bdev = blkdev_get_by_dev(devt, mode, dev); -+ } -+#endif -+ -+ if (IS_ERR(bdev)) { -+ ERROR("error: cannot open device %s", dev->devname); -+ return 1; -+ } -+ dev->blkdev = bdev; -+ -+ if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) { -+ ERROR("attempting to use an MTD device as a block device"); -+ return 1; -+ } -+ -+ return 0; -+} -+ -+static void _close_bdev(struct block2mtd_dev *dev) -+{ -+ struct block_device *bdev; -+ -+ if (!dev->blkdev) -+ return; -+ -+ bdev = dev->blkdev; -+ invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, 0, -1); -+ blkdev_put(dev->blkdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); -+ dev->blkdev = NULL; -+} -+ - static void block2mtd_free_device(struct block2mtd_dev *dev) - { - if (!dev) - return; - - kfree(dev->mtd.name); -- -- if (dev->blkdev) { -- invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, -- 0, -1); -- blkdev_put(dev->blkdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); -- } -- -+ _close_bdev(dev); - kfree(dev); - } - - --/* FIXME: ensure that mtd->size % erase_size == 0 */ --static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname) -+static int block2mtd_refresh(struct mtd_info *mtd) - { -- const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; -+ struct block2mtd_dev *dev = mtd->priv; - struct block_device *bdev; -+ dev_t devt; -+ int err = 0; -+ -+ /* no other mtd function can run at this point */ -+ write_lock(&dev->bdev_mutex); -+ -+ /* get the device number for the whole disk */ -+ devt = MKDEV(MAJOR(dev->blkdev->bd_dev), 0); -+ -+ /* close the old block device */ -+ _close_bdev(dev); -+ -+ /* open the whole disk, issue a partition rescan, then */ -+ bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ); -+ if (!bdev || !bdev->bd_disk) -+ err = -EINVAL; -+#ifndef CONFIG_MTD_BLOCK2MTD_MODULE -+ else -+ err = rescan_partitions(bdev->bd_disk, bdev); -+#endif -+ if (bdev) -+ blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); -+ -+ /* try to open the partition block device again */ -+ _open_bdev(dev); -+ write_unlock(&dev->bdev_mutex); -+ -+ return err; -+} -+ -+/* FIXME: ensure that mtd->size % erase_size == 0 */ -+static struct block2mtd_dev *add_device(char *devname, int erase_size, char *mtdname) -+{ - struct block2mtd_dev *dev; - struct mtd_partition *part; - char *name; -@@ -244,36 +356,17 @@ static struct block2mtd_dev *add_device( - if (!devname) - return NULL; - -- dev = kzalloc(sizeof(struct block2mtd_dev), GFP_KERNEL); -+ dev = kzalloc(sizeof(struct block2mtd_dev) + strlen(devname) + 1, GFP_KERNEL); - if (!dev) - return NULL; - -- /* Get a handle on the device */ -- bdev = blkdev_get_by_path(devname, mode, dev); --#ifndef MODULE -- if (IS_ERR(bdev)) { -- -- /* We might not have rootfs mounted at this point. Try -- to resolve the device name by other means. */ -+ strcpy(dev->devname, devname); - -- dev_t devt = name_to_dev_t(devname); -- if (devt) -- bdev = blkdev_get_by_dev(devt, mode, dev); -- } --#endif -- -- if (IS_ERR(bdev)) { -- ERROR("error: cannot open device %s", devname); -+ if (_open_bdev(dev)) - goto devinit_err; -- } -- dev->blkdev = bdev; -- -- if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) { -- ERROR("attempting to use an MTD device as a block device"); -- goto devinit_err; -- } - - mutex_init(&dev->write_mutex); -+ rwlock_init(&dev->bdev_mutex); - - /* Setup the MTD structure */ - /* make the name contain the block device in */ -@@ -298,6 +391,7 @@ static struct block2mtd_dev *add_device( - dev->mtd.read = block2mtd_read; - dev->mtd.priv = dev; - dev->mtd.owner = THIS_MODULE; -+ dev->mtd.refresh_device = block2mtd_refresh; - - part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); - part->name = dev->mtd.name; --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c @@ -841,6 +841,13 @@ static int mtd_ioctl(struct file *file, diff --git a/target/linux/generic/patches-2.6.38/222-partial_eraseblock_write.patch b/target/linux/generic/patches-2.6.38/401-partial_eraseblock_write.patch index 873c0d1cb1..873c0d1cb1 100644 --- a/target/linux/generic/patches-2.6.38/222-partial_eraseblock_write.patch +++ b/target/linux/generic/patches-2.6.38/401-partial_eraseblock_write.patch diff --git a/target/linux/generic/patches-2.6.38/082-mtd_info_move_forward_decl.patch b/target/linux/generic/patches-2.6.38/410-mtd_info_move_forward_decl.patch index 13f0a217d4..13f0a217d4 100644 --- a/target/linux/generic/patches-2.6.38/082-mtd_info_move_forward_decl.patch +++ b/target/linux/generic/patches-2.6.38/410-mtd_info_move_forward_decl.patch diff --git a/target/linux/generic/patches-2.6.38/070-redboot_space.patch b/target/linux/generic/patches-2.6.38/420-redboot_space.patch index fb6700b07e..fb6700b07e 100644 --- a/target/linux/generic/patches-2.6.38/070-redboot_space.patch +++ b/target/linux/generic/patches-2.6.38/420-redboot_space.patch diff --git a/target/linux/generic/patches-2.6.38/071-redboot_boardconfig.patch b/target/linux/generic/patches-2.6.38/421-redboot_boardconfig.patch index 9188cee29c..9188cee29c 100644 --- a/target/linux/generic/patches-2.6.38/071-redboot_boardconfig.patch +++ b/target/linux/generic/patches-2.6.38/421-redboot_boardconfig.patch diff --git a/target/linux/generic/patches-2.6.38/081-mtd_myloader_partition_parser.patch b/target/linux/generic/patches-2.6.38/430-mtd_myloader_partition_parser.patch index 6e3e3b7085..6e3e3b7085 100644 --- a/target/linux/generic/patches-2.6.38/081-mtd_myloader_partition_parser.patch +++ b/target/linux/generic/patches-2.6.38/430-mtd_myloader_partition_parser.patch diff --git a/target/linux/generic/patches-2.6.38/060-block2mtd_init.patch b/target/linux/generic/patches-2.6.38/440-block2mtd_init.patch index 60d96b1a97..f8495b4e80 100644 --- a/target/linux/generic/patches-2.6.38/060-block2mtd_init.patch +++ b/target/linux/generic/patches-2.6.38/440-block2mtd_init.patch @@ -47,7 +47,7 @@ - if (add_mtd_device(&dev->mtd)) { + part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); -+ part->name = dev->mtd.name; ++ part->name = name; + part->offset = 0; + part->size = dev->mtd.size; + if (add_mtd_partitions(&dev->mtd, part, 1)) { diff --git a/target/linux/generic/patches-2.6.38/441-block2mtd_refresh.patch b/target/linux/generic/patches-2.6.38/441-block2mtd_refresh.patch new file mode 100644 index 0000000000..24ee22f5f6 --- /dev/null +++ b/target/linux/generic/patches-2.6.38/441-block2mtd_refresh.patch @@ -0,0 +1,291 @@ +--- a/drivers/mtd/devices/block2mtd.c ++++ b/drivers/mtd/devices/block2mtd.c +@@ -30,6 +30,8 @@ struct block2mtd_dev { + struct block_device *blkdev; + struct mtd_info mtd; + struct mutex write_mutex; ++ rwlock_t bdev_mutex; ++ char devname[0]; + }; + + +@@ -82,6 +84,12 @@ static int block2mtd_erase(struct mtd_in + size_t len = instr->len; + int err; + ++ read_lock(&dev->bdev_mutex); ++ if (!dev->blkdev) { ++ err = -EINVAL; ++ goto done; ++ } ++ + instr->state = MTD_ERASING; + mutex_lock(&dev->write_mutex); + err = _block2mtd_erase(dev, from, len); +@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in + instr->state = MTD_ERASE_DONE; + + mtd_erase_callback(instr); ++ ++done: ++ read_unlock(&dev->bdev_mutex); ++ + return err; + } + +@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf + struct page *page; + int index = from >> PAGE_SHIFT; + int offset = from & (PAGE_SIZE-1); +- int cpylen; ++ int cpylen, err = 0; ++ ++ read_lock(&dev->bdev_mutex); ++ if (!dev->blkdev || (from > mtd->size)) { ++ err = -EINVAL; ++ goto done; ++ } + +- if (from > mtd->size) +- return -EINVAL; + if (from + len > mtd->size) + len = mtd->size - from; + +@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf + len = len - cpylen; + + page = page_read(dev->blkdev->bd_inode->i_mapping, index); +- if (!page) +- return -ENOMEM; +- if (IS_ERR(page)) +- return PTR_ERR(page); ++ if (!page) { ++ err = -ENOMEM; ++ goto done; ++ } ++ if (IS_ERR(page)) { ++ err = PTR_ERR(page); ++ goto done; ++ } + + memcpy(buf, page_address(page) + offset, cpylen); + page_cache_release(page); +@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf + offset = 0; + index++; + } +- return 0; ++ ++done: ++ read_unlock(&dev->bdev_mutex); ++ return err; + } + + +@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in + size_t *retlen, const u_char *buf) + { + struct block2mtd_dev *dev = mtd->priv; +- int err; ++ int err = 0; ++ ++ read_lock(&dev->bdev_mutex); ++ if (!dev->blkdev) { ++ err = -EINVAL; ++ goto done; ++ } + + if (!len) +- return 0; +- if (to >= mtd->size) +- return -ENOSPC; ++ goto done; ++ ++ if (to >= mtd->size) { ++ err = -ENOSPC; ++ goto done; ++ } ++ + if (to + len > mtd->size) + len = mtd->size - to; + +@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in + mutex_unlock(&dev->write_mutex); + if (err > 0) + err = 0; ++ ++done: ++ read_unlock(&dev->bdev_mutex); + return err; + } + +@@ -210,33 +246,110 @@ static int block2mtd_write(struct mtd_in + static void block2mtd_sync(struct mtd_info *mtd) + { + struct block2mtd_dev *dev = mtd->priv; ++ read_lock(&dev->bdev_mutex); ++ if (dev->blkdev) + sync_blockdev(dev->blkdev); ++ read_unlock(&dev->bdev_mutex); ++ + return; + } + + ++static int _open_bdev(struct block2mtd_dev *dev) ++{ ++ const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; ++ struct block_device *bdev; ++ ++ /* Get a handle on the device */ ++ bdev = blkdev_get_by_path(dev->devname, mode, dev); ++#ifndef MODULE ++ if (IS_ERR(bdev)) { ++ dev_t devt; ++ ++ /* We might not have rootfs mounted at this point. Try ++ to resolve the device name by other means. */ ++ ++ devt = name_to_dev_t(dev->devname); ++ if (devt) ++ bdev = blkdev_get_by_dev(devt, mode, dev); ++ } ++#endif ++ ++ if (IS_ERR(bdev)) { ++ ERROR("error: cannot open device %s", dev->devname); ++ return 1; ++ } ++ dev->blkdev = bdev; ++ ++ if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) { ++ ERROR("attempting to use an MTD device as a block device"); ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static void _close_bdev(struct block2mtd_dev *dev) ++{ ++ struct block_device *bdev; ++ ++ if (!dev->blkdev) ++ return; ++ ++ bdev = dev->blkdev; ++ invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, 0, -1); ++ blkdev_put(dev->blkdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); ++ dev->blkdev = NULL; ++} ++ + static void block2mtd_free_device(struct block2mtd_dev *dev) + { + if (!dev) + return; + + kfree(dev->mtd.name); +- +- if (dev->blkdev) { +- invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, +- 0, -1); +- blkdev_put(dev->blkdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); +- } +- ++ _close_bdev(dev); + kfree(dev); + } + + +-/* FIXME: ensure that mtd->size % erase_size == 0 */ +-static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname) ++static int block2mtd_refresh(struct mtd_info *mtd) + { +- const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; ++ struct block2mtd_dev *dev = mtd->priv; + struct block_device *bdev; ++ dev_t devt; ++ int err = 0; ++ ++ /* no other mtd function can run at this point */ ++ write_lock(&dev->bdev_mutex); ++ ++ /* get the device number for the whole disk */ ++ devt = MKDEV(MAJOR(dev->blkdev->bd_dev), 0); ++ ++ /* close the old block device */ ++ _close_bdev(dev); ++ ++ /* open the whole disk, issue a partition rescan, then */ ++ bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ, mtd); ++ if (!bdev || !bdev->bd_disk) ++ err = -EINVAL; ++#ifndef CONFIG_MTD_BLOCK2MTD_MODULE ++ else ++ err = rescan_partitions(bdev->bd_disk, bdev); ++#endif ++ if (bdev) ++ blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); ++ ++ /* try to open the partition block device again */ ++ _open_bdev(dev); ++ write_unlock(&dev->bdev_mutex); ++ ++ return err; ++} ++ ++/* FIXME: ensure that mtd->size % erase_size == 0 */ ++static struct block2mtd_dev *add_device(char *devname, int erase_size, char *mtdname) ++{ + struct block2mtd_dev *dev; + struct mtd_partition *part; + char *name; +@@ -244,36 +357,17 @@ static struct block2mtd_dev *add_device( + if (!devname) + return NULL; + +- dev = kzalloc(sizeof(struct block2mtd_dev), GFP_KERNEL); ++ dev = kzalloc(sizeof(struct block2mtd_dev) + strlen(devname) + 1, GFP_KERNEL); + if (!dev) + return NULL; + +- /* Get a handle on the device */ +- bdev = blkdev_get_by_path(devname, mode, dev); +-#ifndef MODULE +- if (IS_ERR(bdev)) { +- +- /* We might not have rootfs mounted at this point. Try +- to resolve the device name by other means. */ ++ strcpy(dev->devname, devname); + +- dev_t devt = name_to_dev_t(devname); +- if (devt) +- bdev = blkdev_get_by_dev(devt, mode, dev); +- } +-#endif +- +- if (IS_ERR(bdev)) { +- ERROR("error: cannot open device %s", devname); ++ if (_open_bdev(dev)) + goto devinit_err; +- } +- dev->blkdev = bdev; +- +- if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) { +- ERROR("attempting to use an MTD device as a block device"); +- goto devinit_err; +- } + + mutex_init(&dev->write_mutex); ++ rwlock_init(&dev->bdev_mutex); + + /* Setup the MTD structure */ + /* make the name contain the block device in */ +@@ -298,6 +392,7 @@ static struct block2mtd_dev *add_device( + dev->mtd.read = block2mtd_read; + dev->mtd.priv = dev; + dev->mtd.owner = THIS_MODULE; ++ dev->mtd.refresh_device = block2mtd_refresh; + + part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); + part->name = name; diff --git a/target/linux/generic/patches-2.6.38/066-block2mtd_probe.patch b/target/linux/generic/patches-2.6.38/442-block2mtd_probe.patch index 1afd2ff20a..780dd28fd2 100644 --- a/target/linux/generic/patches-2.6.38/066-block2mtd_probe.patch +++ b/target/linux/generic/patches-2.6.38/442-block2mtd_probe.patch @@ -1,10 +1,10 @@ --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c -@@ -268,6 +268,7 @@ static int _open_bdev(struct block2mtd_d +@@ -269,6 +269,7 @@ static int _open_bdev(struct block2mtd_d /* We might not have rootfs mounted at this point. Try to resolve the device name by other means. */ + wait_for_device_probe(); - dev_t devt = name_to_dev_t(dev->devname); + devt = name_to_dev_t(dev->devname); if (devt) bdev = blkdev_get_by_dev(devt, mode, dev); diff --git a/target/linux/generic/patches-2.6.38/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic/patches-2.6.38/450-mtd_plat_nand_chip_fixup.patch index 8ad32a8aad..8ad32a8aad 100644 --- a/target/linux/generic/patches-2.6.38/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic/patches-2.6.38/450-mtd_plat_nand_chip_fixup.patch diff --git a/target/linux/generic/patches-2.6.38/083-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic/patches-2.6.38/451-mtd_fix_nand_correct_data_return_code.patch index f630059e87..f630059e87 100644 --- a/target/linux/generic/patches-2.6.38/083-mtd_fix_nand_correct_data_return_code.patch +++ b/target/linux/generic/patches-2.6.38/451-mtd_fix_nand_correct_data_return_code.patch diff --git a/target/linux/generic/patches-2.6.38/014-cfi_show_amd_extended_table_version.patch b/target/linux/generic/patches-2.6.38/460-cfi_show_amd_extended_table_version.patch index 7111b2193c..7111b2193c 100644 --- a/target/linux/generic/patches-2.6.38/014-cfi_show_amd_extended_table_version.patch +++ b/target/linux/generic/patches-2.6.38/460-cfi_show_amd_extended_table_version.patch diff --git a/target/linux/generic/patches-2.6.38/084-mtd_m25p80_add_pm25lv_flash_support.patch b/target/linux/generic/patches-2.6.38/470-mtd_m25p80_add_pm25lv_flash_support.patch index 91cdd9763e..91cdd9763e 100644 --- a/target/linux/generic/patches-2.6.38/084-mtd_m25p80_add_pm25lv_flash_support.patch +++ b/target/linux/generic/patches-2.6.38/470-mtd_m25p80_add_pm25lv_flash_support.patch diff --git a/target/linux/generic/patches-2.6.38/090-mtd-m25p80-add-en25f32-chip-support.patch b/target/linux/generic/patches-2.6.38/471-mtd_m25p80_add_en25f32_chip_support.patch index d0b3496222..d0b3496222 100644 --- a/target/linux/generic/patches-2.6.38/090-mtd-m25p80-add-en25f32-chip-support.patch +++ b/target/linux/generic/patches-2.6.38/471-mtd_m25p80_add_en25f32_chip_support.patch diff --git a/target/linux/generic/patches-2.6.38/091-mtd-m25p80-add-MX25L1606E-support.patch b/target/linux/generic/patches-2.6.38/472-mtd_m25p80_add_MX25L1606E_support.patch index b5937a3557..b5937a3557 100644 --- a/target/linux/generic/patches-2.6.38/091-mtd-m25p80-add-MX25L1606E-support.patch +++ b/target/linux/generic/patches-2.6.38/472-mtd_m25p80_add_MX25L1606E_support.patch diff --git a/target/linux/generic/patches-2.6.38/510-yaffs_support.patch b/target/linux/generic/patches-2.6.38/500-yaffs_support.patch index e7c87b8b13..e7c87b8b13 100644 --- a/target/linux/generic/patches-2.6.38/510-yaffs_support.patch +++ b/target/linux/generic/patches-2.6.38/500-yaffs_support.patch diff --git a/target/linux/generic/patches-2.6.38/511-yaffs-cvs-2009-04-24.patch b/target/linux/generic/patches-2.6.38/501-yaffs_cvs_2009_04_24.patch index 5c70e79a05..5c70e79a05 100644 --- a/target/linux/generic/patches-2.6.38/511-yaffs-cvs-2009-04-24.patch +++ b/target/linux/generic/patches-2.6.38/501-yaffs_cvs_2009_04_24.patch diff --git a/target/linux/generic/patches-2.6.38/511-yaffs-git-2010-10-20.patch b/target/linux/generic/patches-2.6.38/502-yaffs_git_2010_10_20.patch index f5e7fff6e6..f26ecf5425 100644 --- a/target/linux/generic/patches-2.6.38/511-yaffs-git-2010-10-20.patch +++ b/target/linux/generic/patches-2.6.38/502-yaffs_git_2010_10_20.patch @@ -8,7 +8,7 @@ endif # BLOCK -@@ -176,6 +175,10 @@ source "fs/hfsplus/Kconfig" +@@ -177,6 +176,10 @@ source "fs/hfsplus/Kconfig" source "fs/befs/Kconfig" source "fs/bfs/Kconfig" source "fs/efs/Kconfig" diff --git a/target/linux/generic/patches-2.6.38/512-yaffs_symlink_bug.patch b/target/linux/generic/patches-2.6.38/503-yaffs_symlink_bug.patch index dabf2871bf..dabf2871bf 100644 --- a/target/linux/generic/patches-2.6.38/512-yaffs_symlink_bug.patch +++ b/target/linux/generic/patches-2.6.38/503-yaffs_symlink_bug.patch diff --git a/target/linux/generic/patches-2.6.38/513-yaffs_mutex_fix.patch b/target/linux/generic/patches-2.6.38/504-yaffs_mutex_fix.patch index b34b12f785..b34b12f785 100644 --- a/target/linux/generic/patches-2.6.38/513-yaffs_mutex_fix.patch +++ b/target/linux/generic/patches-2.6.38/504-yaffs_mutex_fix.patch diff --git a/target/linux/generic/patches-2.6.38/008-jffs2_make_lzma_available.patch b/target/linux/generic/patches-2.6.38/510-jffs2_make_lzma_available.patch index e594039bf6..e594039bf6 100644 --- a/target/linux/generic/patches-2.6.38/008-jffs2_make_lzma_available.patch +++ b/target/linux/generic/patches-2.6.38/510-jffs2_make_lzma_available.patch diff --git a/target/linux/generic/patches-2.6.38/010-debloat_lzma.patch b/target/linux/generic/patches-2.6.38/511-debloat_lzma.patch index 18e4a51ee3..18e4a51ee3 100644 --- a/target/linux/generic/patches-2.6.38/010-debloat_lzma.patch +++ b/target/linux/generic/patches-2.6.38/511-debloat_lzma.patch diff --git a/target/linux/generic/patches-2.6.38/204-jffs2_eofdetect.patch b/target/linux/generic/patches-2.6.38/512-jffs2_eofdetect.patch index eaf9489d35..eaf9489d35 100644 --- a/target/linux/generic/patches-2.6.38/204-jffs2_eofdetect.patch +++ b/target/linux/generic/patches-2.6.38/512-jffs2_eofdetect.patch diff --git a/target/linux/generic/patches-2.6.38/100-netfilter_layer7_2.22.patch b/target/linux/generic/patches-2.6.38/600-netfilter_layer7_2.22.patch index 58732b8ffd..b47f05c4c7 100644 --- a/target/linux/generic/patches-2.6.38/100-netfilter_layer7_2.22.patch +++ b/target/linux/generic/patches-2.6.38/600-netfilter_layer7_2.22.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -948,6 +948,27 @@ config NETFILTER_XT_MATCH_STATE +@@ -946,6 +946,27 @@ config NETFILTER_XT_MATCH_STATE To compile it as a module, choose M here. If unsure, say N. diff --git a/target/linux/generic/patches-2.6.38/101-netfilter_layer7_pktmatch.patch b/target/linux/generic/patches-2.6.38/601-netfilter_layer7_pktmatch.patch index f65e301fd1..f65e301fd1 100644 --- a/target/linux/generic/patches-2.6.38/101-netfilter_layer7_pktmatch.patch +++ b/target/linux/generic/patches-2.6.38/601-netfilter_layer7_pktmatch.patch diff --git a/target/linux/generic/patches-2.6.38/102-netfilter_layer7_match.patch b/target/linux/generic/patches-2.6.38/602-netfilter_layer7_match.patch index b2e48c824f..b2e48c824f 100644 --- a/target/linux/generic/patches-2.6.38/102-netfilter_layer7_match.patch +++ b/target/linux/generic/patches-2.6.38/602-netfilter_layer7_match.patch diff --git a/target/linux/generic/patches-2.6.38/103-netfilter_layer7_2.6.36_fix.patch b/target/linux/generic/patches-2.6.38/603-netfilter_layer7_2.6.36_fix.patch index 1082da5b67..14c5cc6982 100644 --- a/target/linux/generic/patches-2.6.38/103-netfilter_layer7_2.6.36_fix.patch +++ b/target/linux/generic/patches-2.6.38/603-netfilter_layer7_2.6.36_fix.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -762,6 +762,27 @@ config NETFILTER_XT_MATCH_IPVS +@@ -760,6 +760,27 @@ config NETFILTER_XT_MATCH_IPVS If unsure, say N. @@ -28,7 +28,7 @@ config NETFILTER_XT_MATCH_LENGTH tristate '"length" match support' depends on NETFILTER_ADVANCED -@@ -948,26 +969,11 @@ config NETFILTER_XT_MATCH_STATE +@@ -946,26 +967,11 @@ config NETFILTER_XT_MATCH_STATE To compile it as a module, choose M here. If unsure, say N. diff --git a/target/linux/generic/patches-2.6.38/160-netfilter_cisco_794x_iphone.patch b/target/linux/generic/patches-2.6.38/604-netfilter_cisco_794x_iphone.patch index 662a499d17..662a499d17 100644 --- a/target/linux/generic/patches-2.6.38/160-netfilter_cisco_794x_iphone.patch +++ b/target/linux/generic/patches-2.6.38/604-netfilter_cisco_794x_iphone.patch diff --git a/target/linux/generic/patches-2.6.38/190-netfilter_rtsp.patch b/target/linux/generic/patches-2.6.38/605-netfilter_rtsp.patch index 7f1a9d80d4..7f1a9d80d4 100644 --- a/target/linux/generic/patches-2.6.38/190-netfilter_rtsp.patch +++ b/target/linux/generic/patches-2.6.38/605-netfilter_rtsp.patch diff --git a/target/linux/generic/patches-2.6.38/200-sched_esfq.patch b/target/linux/generic/patches-2.6.38/620-sched_esfq.patch index 8a648ecc4d..8a648ecc4d 100644 --- a/target/linux/generic/patches-2.6.38/200-sched_esfq.patch +++ b/target/linux/generic/patches-2.6.38/620-sched_esfq.patch diff --git a/target/linux/generic/patches-2.6.38/290-sched_act_connmark.patch b/target/linux/generic/patches-2.6.38/621-sched_act_connmark.patch index 33429cb430..33429cb430 100644 --- a/target/linux/generic/patches-2.6.38/290-sched_act_connmark.patch +++ b/target/linux/generic/patches-2.6.38/621-sched_act_connmark.patch diff --git a/target/linux/generic/patches-2.6.38/240-packet_socket_type.patch b/target/linux/generic/patches-2.6.38/630-packet_socket_type.patch index a8ad9171ec..a8ad9171ec 100644 --- a/target/linux/generic/patches-2.6.38/240-packet_socket_type.patch +++ b/target/linux/generic/patches-2.6.38/630-packet_socket_type.patch diff --git a/target/linux/generic/patches-2.6.38/270-bridge_no_eap_forward.patch b/target/linux/generic/patches-2.6.38/640-bridge_no_eap_forward.patch index dac898276d..dac898276d 100644 --- a/target/linux/generic/patches-2.6.38/270-bridge_no_eap_forward.patch +++ b/target/linux/generic/patches-2.6.38/640-bridge_no_eap_forward.patch diff --git a/target/linux/generic/patches-2.6.38/271-bridge_always_accept_eap.patch b/target/linux/generic/patches-2.6.38/641-bridge_always_accept_eap.patch index b3a793e49b..b3a793e49b 100644 --- a/target/linux/generic/patches-2.6.38/271-bridge_always_accept_eap.patch +++ b/target/linux/generic/patches-2.6.38/641-bridge_always_accept_eap.patch diff --git a/target/linux/generic/patches-2.6.38/300-bridge_port_isolate.patch b/target/linux/generic/patches-2.6.38/642-bridge_port_isolate.patch index c051a29f2d..c051a29f2d 100644 --- a/target/linux/generic/patches-2.6.38/300-bridge_port_isolate.patch +++ b/target/linux/generic/patches-2.6.38/642-bridge_port_isolate.patch diff --git a/target/linux/generic/patches-2.6.38/250-pppoe_header_pad.patch b/target/linux/generic/patches-2.6.38/650-pppoe_header_pad.patch index 4875d5f23f..4875d5f23f 100644 --- a/target/linux/generic/patches-2.6.38/250-pppoe_header_pad.patch +++ b/target/linux/generic/patches-2.6.38/650-pppoe_header_pad.patch diff --git a/target/linux/generic/patches-2.6.38/940-wireless_mesh_header.patch b/target/linux/generic/patches-2.6.38/651-wireless_mesh_header.patch index 271f8e3591..271f8e3591 100644 --- a/target/linux/generic/patches-2.6.38/940-wireless_mesh_header.patch +++ b/target/linux/generic/patches-2.6.38/651-wireless_mesh_header.patch diff --git a/target/linux/generic/patches-2.6.38/650-swconfig.patch b/target/linux/generic/patches-2.6.38/700-swconfig.patch index 6825037ce9..6825037ce9 100644 --- a/target/linux/generic/patches-2.6.38/650-swconfig.patch +++ b/target/linux/generic/patches-2.6.38/700-swconfig.patch diff --git a/target/linux/generic/patches-2.6.38/600-phy_extension.patch b/target/linux/generic/patches-2.6.38/701-phy_extension.patch index a0624d849e..a0624d849e 100644 --- a/target/linux/generic/patches-2.6.38/600-phy_extension.patch +++ b/target/linux/generic/patches-2.6.38/701-phy_extension.patch diff --git a/target/linux/generic/patches-2.6.38/601-phy-add-aneg-done-function.patch b/target/linux/generic/patches-2.6.38/702-phy_add_aneg_done_function.patch index f37baad729..f37baad729 100644 --- a/target/linux/generic/patches-2.6.38/601-phy-add-aneg-done-function.patch +++ b/target/linux/generic/patches-2.6.38/702-phy_add_aneg_done_function.patch diff --git a/target/linux/generic/patches-2.6.38/620-phy_adm6996.patch b/target/linux/generic/patches-2.6.38/720-phy_adm6996.patch index bd387d1bc7..8e0ef559a8 100644 --- a/target/linux/generic/patches-2.6.38/620-phy_adm6996.patch +++ b/target/linux/generic/patches-2.6.38/720-phy_adm6996.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -92,6 +92,11 @@ config MICREL_PHY +@@ -98,6 +98,11 @@ config MICREL_PHY ---help--- Supports the KSZ9021, VSC8201, KS8001 PHYs. @@ -14,7 +14,7 @@ depends on PHYLIB=y --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o +@@ -14,6 +14,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o diff --git a/target/linux/generic/patches-2.6.38/630-phy_packets.patch b/target/linux/generic/patches-2.6.38/721-phy_packets.patch index 640a19bb00..640a19bb00 100644 --- a/target/linux/generic/patches-2.6.38/630-phy_packets.patch +++ b/target/linux/generic/patches-2.6.38/721-phy_packets.patch diff --git a/target/linux/generic/patches-2.6.38/660-phy_mvswitch.patch b/target/linux/generic/patches-2.6.38/722-phy_mvswitch.patch index 00950dc637..00950dc637 100644 --- a/target/linux/generic/patches-2.6.38/660-phy_mvswitch.patch +++ b/target/linux/generic/patches-2.6.38/722-phy_mvswitch.patch diff --git a/target/linux/generic/patches-2.6.38/670-phy_ip175c.patch b/target/linux/generic/patches-2.6.38/723-phy_ip175c.patch index 0af080bc9b..0af080bc9b 100644 --- a/target/linux/generic/patches-2.6.38/670-phy_ip175c.patch +++ b/target/linux/generic/patches-2.6.38/723-phy_ip175c.patch diff --git a/target/linux/generic/patches-2.6.38/680-phy_ar8216.patch b/target/linux/generic/patches-2.6.38/724-phy_ar8216.patch index e532b3cca9..e532b3cca9 100644 --- a/target/linux/generic/patches-2.6.38/680-phy_ar8216.patch +++ b/target/linux/generic/patches-2.6.38/724-phy_ar8216.patch diff --git a/target/linux/generic/patches-2.6.38/690-phy_rtl8306.patch b/target/linux/generic/patches-2.6.38/725-phy_rtl8306.patch index 5a527b1863..5a527b1863 100644 --- a/target/linux/generic/patches-2.6.38/690-phy_rtl8306.patch +++ b/target/linux/generic/patches-2.6.38/725-phy_rtl8306.patch diff --git a/target/linux/generic/patches-2.6.38/691-phy_rtl8366.patch b/target/linux/generic/patches-2.6.38/726-phy_rtl8366.patch index fdfeb54335..fdfeb54335 100644 --- a/target/linux/generic/patches-2.6.38/691-phy_rtl8366.patch +++ b/target/linux/generic/patches-2.6.38/726-phy_rtl8366.patch diff --git a/target/linux/generic/patches-2.6.38/903-hostap_txpower.patch b/target/linux/generic/patches-2.6.38/750-hostap_txpower.patch index e4c1803ff5..e4c1803ff5 100644 --- a/target/linux/generic/patches-2.6.38/903-hostap_txpower.patch +++ b/target/linux/generic/patches-2.6.38/750-hostap_txpower.patch diff --git a/target/linux/generic/patches-2.6.38/030-pci_disable_common_quirks.patch b/target/linux/generic/patches-2.6.38/810-pci_disable_common_quirks.patch index b81ab74dce..c947836166 100644 --- a/target/linux/generic/patches-2.6.38/030-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-2.6.38/810-pci_disable_common_quirks.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.38.1/drivers/pci/Kconfig -=================================================================== ---- linux-2.6.38.1.orig/drivers/pci/Kconfig 2011-03-23 21:04:47.000000000 +0100 -+++ linux-2.6.38.1/drivers/pci/Kconfig 2011-03-28 16:48:00.052118712 +0200 +--- a/drivers/pci/Kconfig ++++ b/drivers/pci/Kconfig @@ -62,6 +62,12 @@ config XEN_PCIDEV_FE_DEBUG When in doubt, say N. @@ -15,10 +13,8 @@ Index: linux-2.6.38.1/drivers/pci/Kconfig config HT_IRQ bool "Interrupts on hypertransport devices" default y -Index: linux-2.6.38.1/drivers/pci/quirks.c -=================================================================== ---- linux-2.6.38.1.orig/drivers/pci/quirks.c 2011-03-23 21:04:47.000000000 +0100 -+++ linux-2.6.38.1/drivers/pci/quirks.c 2011-03-28 16:48:13.130041612 +0200 +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c @@ -104,6 +104,7 @@ static void __devinit quirk_mmio_always_ } DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on); diff --git a/target/linux/generic/patches-2.6.38/031-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-2.6.38/811-pci_disable_usb_common_quirks.patch index e1efe9cc39..e1efe9cc39 100644 --- a/target/linux/generic/patches-2.6.38/031-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-2.6.38/811-pci_disable_usb_common_quirks.patch diff --git a/target/linux/generic/patches-2.6.38/310-usb-add-usb_find_device_by_name.patch b/target/linux/generic/patches-2.6.38/820-usb_add_usb_find_device_by_name.patch index d225150c90..d225150c90 100644 --- a/target/linux/generic/patches-2.6.38/310-usb-add-usb_find_device_by_name.patch +++ b/target/linux/generic/patches-2.6.38/820-usb_add_usb_find_device_by_name.patch diff --git a/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch b/target/linux/generic/patches-2.6.38/821-usb_serial_endpoint_size.patch index 726dc7dd53..3dd419f2ae 100644 --- a/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic/patches-2.6.38/821-usb_serial_endpoint_size.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.38.1/drivers/usb/serial/usb-serial.c -=================================================================== ---- linux-2.6.38.1.orig/drivers/usb/serial/usb-serial.c 2011-03-23 21:04:47.000000000 +0100 -+++ linux-2.6.38.1/drivers/usb/serial/usb-serial.c 2011-03-28 16:58:26.673254994 +0200 +--- a/drivers/usb/serial/usb-serial.c ++++ b/drivers/usb/serial/usb-serial.c @@ -61,6 +61,7 @@ static struct usb_driver usb_serial_driv drivers depend on it. */ diff --git a/target/linux/generic/patches-2.6.38/400-ledtrig_morse.patch b/target/linux/generic/patches-2.6.38/830-ledtrig_morse.patch index 62a90a4591..62a90a4591 100644 --- a/target/linux/generic/patches-2.6.38/400-ledtrig_morse.patch +++ b/target/linux/generic/patches-2.6.38/830-ledtrig_morse.patch diff --git a/target/linux/generic/patches-2.6.38/402-ledtrig_netdev.patch b/target/linux/generic/patches-2.6.38/831-ledtrig_netdev.patch index 5354aa187b..5354aa187b 100644 --- a/target/linux/generic/patches-2.6.38/402-ledtrig_netdev.patch +++ b/target/linux/generic/patches-2.6.38/831-ledtrig_netdev.patch diff --git a/target/linux/generic/patches-2.6.38/403-ledtrig-usbdev.patch b/target/linux/generic/patches-2.6.38/832-ledtrig_usbdev.patch index 25c6745f68..25c6745f68 100644 --- a/target/linux/generic/patches-2.6.38/403-ledtrig-usbdev.patch +++ b/target/linux/generic/patches-2.6.38/832-ledtrig_usbdev.patch diff --git a/target/linux/generic/patches-2.6.38/410-gpio_buttons.patch b/target/linux/generic/patches-2.6.38/833-gpio_buttons.patch index 23fa95319b..23fa95319b 100644 --- a/target/linux/generic/patches-2.6.38/410-gpio_buttons.patch +++ b/target/linux/generic/patches-2.6.38/833-gpio_buttons.patch diff --git a/target/linux/generic/patches-2.6.38/411-gpio_ioctl.patch b/target/linux/generic/patches-2.6.38/834-gpio_ioctl.patch index 6609a1670a..6609a1670a 100644 --- a/target/linux/generic/patches-2.6.38/411-gpio_ioctl.patch +++ b/target/linux/generic/patches-2.6.38/834-gpio_ioctl.patch diff --git a/target/linux/generic/patches-2.6.38/420-gpiodev.patch b/target/linux/generic/patches-2.6.38/835-gpiodev.patch index 900358e6b0..900358e6b0 100644 --- a/target/linux/generic/patches-2.6.38/420-gpiodev.patch +++ b/target/linux/generic/patches-2.6.38/835-gpiodev.patch diff --git a/target/linux/generic/patches-2.6.38/700-rtc7301.patch b/target/linux/generic/patches-2.6.38/840-rtc7301.patch index 2cc7b03fb6..2cc7b03fb6 100644 --- a/target/linux/generic/patches-2.6.38/700-rtc7301.patch +++ b/target/linux/generic/patches-2.6.38/840-rtc7301.patch diff --git a/target/linux/generic/patches-2.6.38/750-glamo-headers.patch b/target/linux/generic/patches-2.6.38/850-glamo_headers.patch index f3cf973651..f3cf973651 100644 --- a/target/linux/generic/patches-2.6.38/750-glamo-headers.patch +++ b/target/linux/generic/patches-2.6.38/850-glamo_headers.patch diff --git a/target/linux/generic/patches-2.6.38/920-01-hotpluggable-spi-gpio.patch b/target/linux/generic/patches-2.6.38/860-01_hotpluggable_spi_gpio.patch index f8e6374fa7..f8e6374fa7 100644 --- a/target/linux/generic/patches-2.6.38/920-01-hotpluggable-spi-gpio.patch +++ b/target/linux/generic/patches-2.6.38/860-01_hotpluggable_spi_gpio.patch diff --git a/target/linux/generic/patches-2.6.38/920-04-spi-gpio-implement-spi-delay.patch b/target/linux/generic/patches-2.6.38/861-04_spi_gpio_implement_spi_delay.patch index 4b145c2734..4b145c2734 100644 --- a/target/linux/generic/patches-2.6.38/920-04-spi-gpio-implement-spi-delay.patch +++ b/target/linux/generic/patches-2.6.38/861-04_spi_gpio_implement_spi_delay.patch diff --git a/target/linux/generic/patches-2.6.38/921-gpio_spi_driver.patch b/target/linux/generic/patches-2.6.38/862-gpio_spi_driver.patch index 3d85069566..3d85069566 100644 --- a/target/linux/generic/patches-2.6.38/921-gpio_spi_driver.patch +++ b/target/linux/generic/patches-2.6.38/862-gpio_spi_driver.patch diff --git a/target/linux/generic/patches-2.6.38/922-gpiommc.patch b/target/linux/generic/patches-2.6.38/863-gpiommc.patch index a959b978cb..a959b978cb 100644 --- a/target/linux/generic/patches-2.6.38/922-gpiommc.patch +++ b/target/linux/generic/patches-2.6.38/863-gpiommc.patch diff --git a/target/linux/generic/patches-2.6.38/923-gpiommc-configfs-locking.patch b/target/linux/generic/patches-2.6.38/864-gpiommc_configfs_locking.patch index 2e4e820b2b..2e4e820b2b 100644 --- a/target/linux/generic/patches-2.6.38/923-gpiommc-configfs-locking.patch +++ b/target/linux/generic/patches-2.6.38/864-gpiommc_configfs_locking.patch diff --git a/target/linux/generic/patches-2.6.38/975-hifn795x-byteswap.patch b/target/linux/generic/patches-2.6.38/870-hifn795x_byteswap.patch index 3a37c951ec..3a37c951ec 100644 --- a/target/linux/generic/patches-2.6.38/975-hifn795x-byteswap.patch +++ b/target/linux/generic/patches-2.6.38/870-hifn795x_byteswap.patch diff --git a/target/linux/generic/patches-2.6.38/203-slab_maxsize.patch b/target/linux/generic/patches-2.6.38/900-slab_maxsize.patch index 55e2516a69..55e2516a69 100644 --- a/target/linux/generic/patches-2.6.38/203-slab_maxsize.patch +++ b/target/linux/generic/patches-2.6.38/900-slab_maxsize.patch diff --git a/target/linux/generic/patches-2.6.38/219-kobject_uevent.patch b/target/linux/generic/patches-2.6.38/910-kobject_uevent.patch index f15749fa17..f15749fa17 100644 --- a/target/linux/generic/patches-2.6.38/219-kobject_uevent.patch +++ b/target/linux/generic/patches-2.6.38/910-kobject_uevent.patch diff --git a/target/linux/generic/patches-2.6.38/223-kobject-add-broadcast_uevent.patch b/target/linux/generic/patches-2.6.38/911-kobject_add_broadcast_uevent.patch index b3e4b6e7c7..b3e4b6e7c7 100644 --- a/target/linux/generic/patches-2.6.38/223-kobject-add-broadcast_uevent.patch +++ b/target/linux/generic/patches-2.6.38/911-kobject_add_broadcast_uevent.patch diff --git a/target/linux/generic/patches-2.6.38/840-unable_to_open_console.patch b/target/linux/generic/patches-2.6.38/920-unable_to_open_console.patch index 767f777d1d..767f777d1d 100644 --- a/target/linux/generic/patches-2.6.38/840-unable_to_open_console.patch +++ b/target/linux/generic/patches-2.6.38/920-unable_to_open_console.patch diff --git a/target/linux/generic/patches-2.6.38/999-use_preinit_as_init.patch b/target/linux/generic/patches-2.6.38/921-use_preinit_as_init.patch index d46c13b334..d46c13b334 100644 --- a/target/linux/generic/patches-2.6.38/999-use_preinit_as_init.patch +++ b/target/linux/generic/patches-2.6.38/921-use_preinit_as_init.patch diff --git a/target/linux/generic/patches-2.6.38/970-ocf_kbuild_integration.patch b/target/linux/generic/patches-2.6.38/940-ocf_kbuild_integration.patch index 3c322f3d14..3c322f3d14 100644 --- a/target/linux/generic/patches-2.6.38/970-ocf_kbuild_integration.patch +++ b/target/linux/generic/patches-2.6.38/940-ocf_kbuild_integration.patch diff --git a/target/linux/generic/patches-2.6.38/971-ocf_20100325.patch b/target/linux/generic/patches-2.6.38/941-ocf_20100325.patch index a1c088a9a8..a1c088a9a8 100644 --- a/target/linux/generic/patches-2.6.38/971-ocf_20100325.patch +++ b/target/linux/generic/patches-2.6.38/941-ocf_20100325.patch diff --git a/target/linux/generic/patches-2.6.38/980-vm_exports.patch b/target/linux/generic/patches-2.6.38/950-vm_exports.patch index 05f1b4da32..d23ce2ce13 100644 --- a/target/linux/generic/patches-2.6.38/980-vm_exports.patch +++ b/target/linux/generic/patches-2.6.38/950-vm_exports.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.38.2/mm/shmem.c -=================================================================== ---- linux-2.6.38.2.orig/mm/shmem.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/shmem.c 2011-03-30 18:44:41.068346925 +0200 +--- a/mm/shmem.c ++++ b/mm/shmem.c @@ -2710,6 +2710,16 @@ out: /* common code */ @@ -32,10 +30,8 @@ Index: linux-2.6.38.2/mm/shmem.c + return 0; } -Index: linux-2.6.38.2/fs/file.c -=================================================================== ---- linux-2.6.38.2.orig/fs/file.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/fs/file.c 2011-03-28 22:44:57.267151662 +0200 +--- a/fs/file.c ++++ b/fs/file.c @@ -264,6 +264,7 @@ int expand_files(struct files_struct *fi /* All good, so we try */ return expand_fdtable(files, nr); @@ -44,10 +40,8 @@ Index: linux-2.6.38.2/fs/file.c static int count_open_files(struct fdtable *fdt) { -Index: linux-2.6.38.2/kernel/exit.c -=================================================================== ---- linux-2.6.38.2.orig/kernel/exit.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/exit.c 2011-03-28 22:44:57.269151650 +0200 +--- a/kernel/exit.c ++++ b/kernel/exit.c @@ -513,6 +513,7 @@ struct files_struct *get_files_struct(st return files; @@ -64,10 +58,8 @@ Index: linux-2.6.38.2/kernel/exit.c void reset_files_struct(struct files_struct *files) { -Index: linux-2.6.38.2/kernel/fork.c -=================================================================== ---- linux-2.6.38.2.orig/kernel/fork.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/fork.c 2011-03-28 22:44:57.270151644 +0200 +--- a/kernel/fork.c ++++ b/kernel/fork.c @@ -193,6 +193,7 @@ void __put_task_struct(struct task_struc if (!profile_handoff_task(tsk)) free_task(tsk); @@ -76,10 +68,8 @@ Index: linux-2.6.38.2/kernel/fork.c /* * macro override instead of weak attribute alias, to workaround -Index: linux-2.6.38.2/kernel/sched.c -=================================================================== ---- linux-2.6.38.2.orig/kernel/sched.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/sched.c 2011-03-28 22:44:57.274151620 +0200 +--- a/kernel/sched.c ++++ b/kernel/sched.c @@ -4641,6 +4641,7 @@ int can_nice(const struct task_struct *p return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); @@ -88,10 +78,8 @@ Index: linux-2.6.38.2/kernel/sched.c #ifdef __ARCH_WANT_SYS_NICE -Index: linux-2.6.38.2/mm/memory.c -=================================================================== ---- linux-2.6.38.2.orig/mm/memory.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/memory.c 2011-03-28 22:44:57.277151603 +0200 +--- a/mm/memory.c ++++ b/mm/memory.c @@ -1229,6 +1229,7 @@ unsigned long zap_page_range(struct vm_a tlb_finish_mmu(tlb, address, end); return end; @@ -108,10 +96,8 @@ Index: linux-2.6.38.2/mm/memory.c /* * We enter with non-exclusive mmap_sem (to exclude vma changes, -Index: linux-2.6.38.2/mm/vmalloc.c -=================================================================== ---- linux-2.6.38.2.orig/mm/vmalloc.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/vmalloc.c 2011-03-28 22:44:57.278151598 +0200 +--- a/mm/vmalloc.c ++++ b/mm/vmalloc.c @@ -1193,6 +1193,7 @@ void unmap_kernel_range(unsigned long ad vunmap_page_range(addr, end); flush_tlb_kernel_range(addr, end); @@ -128,10 +114,8 @@ Index: linux-2.6.38.2/mm/vmalloc.c struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags, void *caller) -Index: linux-2.6.38.2/include/linux/mm.h -=================================================================== ---- linux-2.6.38.2.orig/include/linux/mm.h 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/include/linux/mm.h 2011-03-28 22:44:57.279151592 +0200 +--- a/include/linux/mm.h ++++ b/include/linux/mm.h @@ -863,6 +863,7 @@ extern void show_free_areas(void); int shmem_lock(struct file *file, int lock, struct user_struct *user); diff --git a/target/linux/generic/patches-2.6.38/009-decompress_unlzo_fix.patch b/target/linux/generic/patches-2.6.38/960-decompress_unlzo_fix.patch index ee7c118ef0..ee7c118ef0 100644 --- a/target/linux/generic/patches-2.6.38/009-decompress_unlzo_fix.patch +++ b/target/linux/generic/patches-2.6.38/960-decompress_unlzo_fix.patch |