diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-04-16 18:31:05 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-04-16 18:31:05 +0000 |
commit | b2cab73a788f178bfe2f8620d8c4a483dfba34fc (patch) | |
tree | d0285c3b8b16f40ed39ca88a77e257f6443ecb57 /target/linux | |
parent | 5ed970594e5968204fd460981508316edc4c0298 (diff) |
kernel: reorganize 2.6.39 patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26691 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/generic/patches-2.6.39/067-block2mtd_2.6.38_fix.patch | 35 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/100-overlayfs.patch (renamed from target/linux/generic/patches-2.6.39/209-overlayfs.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/200-fix_localversion.patch (renamed from target/linux/generic/patches-2.6.39/001-fix_localversion.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/201-extra_optimization.patch (renamed from target/linux/generic/patches-2.6.39/012-extra_optimization.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/210-darwin_scripts_include.patch (renamed from target/linux/generic/patches-2.6.39/902-darwin_scripts_include.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/211-stddef_include.patch (renamed from target/linux/generic/patches-2.6.39/903-stddef_include.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/220-module_exports.patch (renamed from target/linux/generic/patches-2.6.39/028-module_exports.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch (renamed from target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/250-netfilter_depends.patch (renamed from target/linux/generic/patches-2.6.39/180-netfilter_depends.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/251-sound_kconfig.patch (renamed from target/linux/generic/patches-2.6.39/220-sound_kconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/252-mv_cesa_depends.patch (renamed from target/linux/generic/patches-2.6.39/972-mv_cesa_depends.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/253-ssb_b43_default_on.patch (renamed from target/linux/generic/patches-2.6.39/974-ssb_b43_default_on.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/254-textsearch_kconfig_hacks.patch (renamed from target/linux/generic/patches-2.6.39/977-textsearch_kconfig_hacks.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/255-lib80211_kconfig_hacks.patch (renamed from target/linux/generic/patches-2.6.39/978-lib80211_kconfig_hacks.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/256-crypto_add_kconfig_prompts.patch (renamed from target/linux/generic/patches-2.6.39/979-crypto_add_kconfig_prompts.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/257-wireless_ext_kconfig_hack.patch (renamed from target/linux/generic/patches-2.6.39/981-wireless_ext_kconfig_hack.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch (renamed from target/linux/generic/patches-2.6.39/011-mips_expose_boot_raw.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/301-mips_image_cmdline_hack.patch (renamed from target/linux/generic/patches-2.6.39/021-mips_image_cmdline_hack.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/302-mips_use_generic_thread_info_allocator.patch (renamed from target/linux/generic/patches-2.6.39/022-mips_use_generic_thread_info_allocator.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/303-mips_fix_kexec.patch (renamed from target/linux/generic/patches-2.6.39/023-mips-fix-kexec.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/304-mips_disable_fpu.patch (renamed from target/linux/generic/patches-2.6.39/025-mips_disable_fpu.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/305-mips_module_reloc.patch (renamed from target/linux/generic/patches-2.6.39/027-mips_module_reloc.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch (renamed from target/linux/generic/patches-2.6.39/202-mips_mem_functions_performance.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/307-mips_oprofile_fix.patch (renamed from target/linux/generic/patches-2.6.39/208-mips_oprofile_fix.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/310-arm_module_unresolved_weak_sym.patch (renamed from target/linux/generic/patches-2.6.39/029-arm_module_unresolved_weak_sym.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/320-ppc4xx_optimization.patch (renamed from target/linux/generic/patches-2.6.39/991-ppc4xx_optimization.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/321-powerpc_crtsavres_prereq.patch (renamed from target/linux/generic/patches-2.6.39/950-powerpc_crtsavres_prereq.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/400-rootfs_split.patch (renamed from target/linux/generic/patches-2.6.39/065-rootfs_split.patch) | 290 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/401-partial_eraseblock_write.patch (renamed from target/linux/generic/patches-2.6.39/222-partial_eraseblock_write.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/410-mtd_info_move_forward_decl.patch (renamed from target/linux/generic/patches-2.6.39/082-mtd_info_move_forward_decl.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/420-redboot_space.patch (renamed from target/linux/generic/patches-2.6.39/070-redboot_space.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/421-redboot_boardconfig.patch (renamed from target/linux/generic/patches-2.6.39/071-redboot_boardconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/430-mtd_myloader_partition_parser.patch (renamed from target/linux/generic/patches-2.6.39/081-mtd_myloader_partition_parser.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/440-block2mtd_init.patch (renamed from target/linux/generic/patches-2.6.39/060-block2mtd_init.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/441-block2mtd_refresh.patch | 291 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/442-block2mtd_probe.patch (renamed from target/linux/generic/patches-2.6.39/066-block2mtd_probe.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/450-mtd_plat_nand_chip_fixup.patch (renamed from target/linux/generic/patches-2.6.39/080-mtd_plat_nand_chip_fixup.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/451-mtd_fix_nand_correct_data_return_code.patch (renamed from target/linux/generic/patches-2.6.39/083-mtd_fix_nand_correct_data_return_code.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch (renamed from target/linux/generic/patches-2.6.39/014-cfi_show_amd_extended_table_version.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/470-mtd_m25p80_add_pm25lv_flash_support.patch (renamed from target/linux/generic/patches-2.6.39/084-mtd_m25p80_add_pm25lv_flash_support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/472-mtd_m25p80_add_MX25L1606E_support.patch (renamed from target/linux/generic/patches-2.6.39/091-mtd-m25p80-add-MX25L1606E-support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/500-yaffs_support.patch (renamed from target/linux/generic/patches-2.6.39/510-yaffs_support.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch (renamed from target/linux/generic/patches-2.6.39/511-yaffs-cvs-2009-04-24.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch (renamed from target/linux/generic/patches-2.6.39/511-yaffs-git-2010-10-20.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/503-yaffs_symlink_bug.patch (renamed from target/linux/generic/patches-2.6.39/512-yaffs_symlink_bug.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/504-yaffs_mutex_fix.patch (renamed from target/linux/generic/patches-2.6.39/513-yaffs_mutex_fix.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/510-jffs2_make_lzma_available.patch (renamed from target/linux/generic/patches-2.6.39/008-jffs2_make_lzma_available.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/511-debloat_lzma.patch (renamed from target/linux/generic/patches-2.6.39/010-debloat_lzma.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/512-jffs2_eofdetect.patch (renamed from target/linux/generic/patches-2.6.39/204-jffs2_eofdetect.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/520-squashfs_update_xz_comp_opts.patch (renamed from target/linux/generic/patches-2.6.39/550-squashfs_update_xz_comp_opts.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch (renamed from target/linux/generic/patches-2.6.39/100-netfilter_layer7_2.22.patch) | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/601-netfilter_layer7_pktmatch.patch (renamed from target/linux/generic/patches-2.6.39/101-netfilter_layer7_pktmatch.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/602-netfilter_layer7_match.patch (renamed from target/linux/generic/patches-2.6.39/102-netfilter_layer7_match.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/603-netfilter_layer7_2.6.36_fix.patch (renamed from target/linux/generic/patches-2.6.39/103-netfilter_layer7_2.6.36_fix.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/604-netfilter_cisco_794x_iphone.patch (renamed from target/linux/generic/patches-2.6.39/160-netfilter_cisco_794x_iphone.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/605-netfilter_rtsp.patch (renamed from target/linux/generic/patches-2.6.39/190-netfilter_rtsp.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/620-sched_esfq.patch (renamed from target/linux/generic/patches-2.6.39/200-sched_esfq.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/621-sched_act_connmark.patch (renamed from target/linux/generic/patches-2.6.39/290-sched_act_connmark.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/630-packet_socket_type.patch (renamed from target/linux/generic/patches-2.6.39/240-packet_socket_type.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/640-bridge_no_eap_forward.patch (renamed from target/linux/generic/patches-2.6.39/270-bridge_no_eap_forward.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/641-bridge_always_accept_eap.patch (renamed from target/linux/generic/patches-2.6.39/271-bridge_always_accept_eap.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/642-bridge_port_isolate.patch (renamed from target/linux/generic/patches-2.6.39/300-bridge_port_isolate.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/650-pppoe_header_pad.patch (renamed from target/linux/generic/patches-2.6.39/250-pppoe_header_pad.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/651-wireless_mesh_header.patch (renamed from target/linux/generic/patches-2.6.39/940-wireless_mesh_header.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/700-swconfig.patch (renamed from target/linux/generic/patches-2.6.39/650-swconfig.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/701-phy_extension.patch (renamed from target/linux/generic/patches-2.6.39/600-phy_extension.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/702-phy_add_aneg_done_function.patch (renamed from target/linux/generic/patches-2.6.39/601-phy-add-aneg-done-function.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/720-phy_adm6996.patch (renamed from target/linux/generic/patches-2.6.39/620-phy_adm6996.patch) | 4 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/721-phy_packets.patch (renamed from target/linux/generic/patches-2.6.39/630-phy_packets.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch (renamed from target/linux/generic/patches-2.6.39/660-phy_mvswitch.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/723-phy_ip175c.patch (renamed from target/linux/generic/patches-2.6.39/670-phy_ip175c.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/724-phy_ar8216.patch (renamed from target/linux/generic/patches-2.6.39/680-phy_ar8216.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch (renamed from target/linux/generic/patches-2.6.39/690-phy_rtl8306.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch (renamed from target/linux/generic/patches-2.6.39/691-phy_rtl8366.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/750-hostap_txpower.patch (renamed from target/linux/generic/patches-2.6.39/903-hostap_txpower.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/810-pci_disable_common_quirks.patch (renamed from target/linux/generic/patches-2.6.39/030-pci_disable_common_quirks.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch (renamed from target/linux/generic/patches-2.6.39/031-pci_disable_usb_common_quirks.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/820-usb_add_usb_find_device_by_name.patch (renamed from target/linux/generic/patches-2.6.39/310-usb-add-usb_find_device_by_name.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/821-usb_serial_endpoint_size.patch (renamed from target/linux/generic/patches-2.6.39/801-usb_serial_endpoint_size.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch (renamed from target/linux/generic/patches-2.6.39/400-ledtrig_morse.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch (renamed from target/linux/generic/patches-2.6.39/402-ledtrig_netdev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/832-ledtrig_usbdev.patch (renamed from target/linux/generic/patches-2.6.39/403-ledtrig-usbdev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/833-gpio_buttons.patch (renamed from target/linux/generic/patches-2.6.39/410-gpio_buttons.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch (renamed from target/linux/generic/patches-2.6.39/411-gpio_ioctl.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/835-gpiodev.patch (renamed from target/linux/generic/patches-2.6.39/420-gpiodev.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/840-rtc7301.patch (renamed from target/linux/generic/patches-2.6.39/700-rtc7301.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/850-glamo_headers.patch (renamed from target/linux/generic/patches-2.6.39/750-glamo-headers.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/860-01_hotpluggable_spi_gpio.patch (renamed from target/linux/generic/patches-2.6.39/920-01-hotpluggable-spi-gpio.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/861-04_spi_gpio_implement_spi_delay.patch (renamed from target/linux/generic/patches-2.6.39/920-04-spi-gpio-implement-spi-delay.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/862-gpio_spi_driver.patch (renamed from target/linux/generic/patches-2.6.39/921-gpio_spi_driver.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/863-gpiommc.patch (renamed from target/linux/generic/patches-2.6.39/922-gpiommc.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/864-gpiommc_configfs_locking.patch (renamed from target/linux/generic/patches-2.6.39/923-gpiommc-configfs-locking.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/870-hifn795x_byteswap.patch (renamed from target/linux/generic/patches-2.6.39/975-hifn795x-byteswap.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/900-slab_maxsize.patch (renamed from target/linux/generic/patches-2.6.39/203-slab_maxsize.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/910-kobject_uevent.patch (renamed from target/linux/generic/patches-2.6.39/219-kobject_uevent.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch (renamed from target/linux/generic/patches-2.6.39/223-kobject-add-broadcast_uevent.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/920-unable_to_open_console.patch (renamed from target/linux/generic/patches-2.6.39/840-unable_to_open_console.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/921-use_preinit_as_init.patch (renamed from target/linux/generic/patches-2.6.39/999-use_preinit_as_init.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/940-ocf_kbuild_integration.patch (renamed from target/linux/generic/patches-2.6.39/970-ocf_kbuild_integration.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/941-ocf_20100325.patch (renamed from target/linux/generic/patches-2.6.39/971-ocf_20100325.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/950-vm_exports.patch (renamed from target/linux/generic/patches-2.6.39/980-vm_exports.patch) | 0 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.39/960-decompress_unlzo_fix.patch (renamed from target/linux/generic/patches-2.6.39/009-decompress_unlzo_fix.patch) | 0 |
102 files changed, 300 insertions, 334 deletions
diff --git a/target/linux/generic/patches-2.6.39/067-block2mtd_2.6.38_fix.patch b/target/linux/generic/patches-2.6.39/067-block2mtd_2.6.38_fix.patch deleted file mode 100644 index 1a052b3f4..000000000 --- a/target/linux/generic/patches-2.6.39/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.39/209-overlayfs.patch b/target/linux/generic/patches-2.6.39/100-overlayfs.patch index b5c919907..b5c919907 100644 --- a/target/linux/generic/patches-2.6.39/209-overlayfs.patch +++ b/target/linux/generic/patches-2.6.39/100-overlayfs.patch diff --git a/target/linux/generic/patches-2.6.39/001-fix_localversion.patch b/target/linux/generic/patches-2.6.39/200-fix_localversion.patch index 0d1bae8d4..0d1bae8d4 100644 --- a/target/linux/generic/patches-2.6.39/001-fix_localversion.patch +++ b/target/linux/generic/patches-2.6.39/200-fix_localversion.patch diff --git a/target/linux/generic/patches-2.6.39/012-extra_optimization.patch b/target/linux/generic/patches-2.6.39/201-extra_optimization.patch index 8039c6652..8039c6652 100644 --- a/target/linux/generic/patches-2.6.39/012-extra_optimization.patch +++ b/target/linux/generic/patches-2.6.39/201-extra_optimization.patch diff --git a/target/linux/generic/patches-2.6.39/902-darwin_scripts_include.patch b/target/linux/generic/patches-2.6.39/210-darwin_scripts_include.patch index 0686a3897..0686a3897 100644 --- a/target/linux/generic/patches-2.6.39/902-darwin_scripts_include.patch +++ b/target/linux/generic/patches-2.6.39/210-darwin_scripts_include.patch diff --git a/target/linux/generic/patches-2.6.39/903-stddef_include.patch b/target/linux/generic/patches-2.6.39/211-stddef_include.patch index 7fe248d8d..7fe248d8d 100644 --- a/target/linux/generic/patches-2.6.39/903-stddef_include.patch +++ b/target/linux/generic/patches-2.6.39/211-stddef_include.patch diff --git a/target/linux/generic/patches-2.6.39/028-module_exports.patch b/target/linux/generic/patches-2.6.39/220-module_exports.patch index 8a95743a4..8a95743a4 100644 --- a/target/linux/generic/patches-2.6.39/028-module_exports.patch +++ b/target/linux/generic/patches-2.6.39/220-module_exports.patch diff --git a/target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch b/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch index 67e0ceefb..67e0ceefb 100644 --- a/target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch +++ b/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch diff --git a/target/linux/generic/patches-2.6.39/180-netfilter_depends.patch b/target/linux/generic/patches-2.6.39/250-netfilter_depends.patch index 656046024..656046024 100644 --- a/target/linux/generic/patches-2.6.39/180-netfilter_depends.patch +++ b/target/linux/generic/patches-2.6.39/250-netfilter_depends.patch diff --git a/target/linux/generic/patches-2.6.39/220-sound_kconfig.patch b/target/linux/generic/patches-2.6.39/251-sound_kconfig.patch index fb3df254d..fb3df254d 100644 --- a/target/linux/generic/patches-2.6.39/220-sound_kconfig.patch +++ b/target/linux/generic/patches-2.6.39/251-sound_kconfig.patch diff --git a/target/linux/generic/patches-2.6.39/972-mv_cesa_depends.patch b/target/linux/generic/patches-2.6.39/252-mv_cesa_depends.patch index 1fd2f6365..1fd2f6365 100644 --- a/target/linux/generic/patches-2.6.39/972-mv_cesa_depends.patch +++ b/target/linux/generic/patches-2.6.39/252-mv_cesa_depends.patch diff --git a/target/linux/generic/patches-2.6.39/974-ssb_b43_default_on.patch b/target/linux/generic/patches-2.6.39/253-ssb_b43_default_on.patch index 3176dcb4d..3176dcb4d 100644 --- a/target/linux/generic/patches-2.6.39/974-ssb_b43_default_on.patch +++ b/target/linux/generic/patches-2.6.39/253-ssb_b43_default_on.patch diff --git a/target/linux/generic/patches-2.6.39/977-textsearch_kconfig_hacks.patch b/target/linux/generic/patches-2.6.39/254-textsearch_kconfig_hacks.patch index e4d1909ea..2bb01f77e 100644 --- a/target/linux/generic/patches-2.6.39/977-textsearch_kconfig_hacks.patch +++ b/target/linux/generic/patches-2.6.39/254-textsearch_kconfig_hacks.patch @@ -1,6 +1,6 @@ --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -206,16 +206,16 @@ config BCH_CONST_T +@@ -200,16 +200,16 @@ config BCH_CONST_T # Textsearch support is select'ed if needed # config TEXTSEARCH diff --git a/target/linux/generic/patches-2.6.39/978-lib80211_kconfig_hacks.patch b/target/linux/generic/patches-2.6.39/255-lib80211_kconfig_hacks.patch index c044deac0..c044deac0 100644 --- a/target/linux/generic/patches-2.6.39/978-lib80211_kconfig_hacks.patch +++ b/target/linux/generic/patches-2.6.39/255-lib80211_kconfig_hacks.patch diff --git a/target/linux/generic/patches-2.6.39/979-crypto_add_kconfig_prompts.patch b/target/linux/generic/patches-2.6.39/256-crypto_add_kconfig_prompts.patch index 8462c711f..8462c711f 100644 --- a/target/linux/generic/patches-2.6.39/979-crypto_add_kconfig_prompts.patch +++ b/target/linux/generic/patches-2.6.39/256-crypto_add_kconfig_prompts.patch diff --git a/target/linux/generic/patches-2.6.39/981-wireless_ext_kconfig_hack.patch b/target/linux/generic/patches-2.6.39/257-wireless_ext_kconfig_hack.patch index daac5898a..daac5898a 100644 --- a/target/linux/generic/patches-2.6.39/981-wireless_ext_kconfig_hack.patch +++ b/target/linux/generic/patches-2.6.39/257-wireless_ext_kconfig_hack.patch diff --git a/target/linux/generic/patches-2.6.39/011-mips_expose_boot_raw.patch b/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch index 0be7b74de..0be7b74de 100644 --- a/target/linux/generic/patches-2.6.39/011-mips_expose_boot_raw.patch +++ b/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch diff --git a/target/linux/generic/patches-2.6.39/021-mips_image_cmdline_hack.patch b/target/linux/generic/patches-2.6.39/301-mips_image_cmdline_hack.patch index ab5e775cc..ab5e775cc 100644 --- a/target/linux/generic/patches-2.6.39/021-mips_image_cmdline_hack.patch +++ b/target/linux/generic/patches-2.6.39/301-mips_image_cmdline_hack.patch diff --git a/target/linux/generic/patches-2.6.39/022-mips_use_generic_thread_info_allocator.patch b/target/linux/generic/patches-2.6.39/302-mips_use_generic_thread_info_allocator.patch index 1bcc74b41..1bcc74b41 100644 --- a/target/linux/generic/patches-2.6.39/022-mips_use_generic_thread_info_allocator.patch +++ b/target/linux/generic/patches-2.6.39/302-mips_use_generic_thread_info_allocator.patch diff --git a/target/linux/generic/patches-2.6.39/023-mips-fix-kexec.patch b/target/linux/generic/patches-2.6.39/303-mips_fix_kexec.patch index e6928dde9..e6928dde9 100644 --- a/target/linux/generic/patches-2.6.39/023-mips-fix-kexec.patch +++ b/target/linux/generic/patches-2.6.39/303-mips_fix_kexec.patch diff --git a/target/linux/generic/patches-2.6.39/025-mips_disable_fpu.patch b/target/linux/generic/patches-2.6.39/304-mips_disable_fpu.patch index 520a5188c..520a5188c 100644 --- a/target/linux/generic/patches-2.6.39/025-mips_disable_fpu.patch +++ b/target/linux/generic/patches-2.6.39/304-mips_disable_fpu.patch diff --git a/target/linux/generic/patches-2.6.39/027-mips_module_reloc.patch b/target/linux/generic/patches-2.6.39/305-mips_module_reloc.patch index 5513962cb..5513962cb 100644 --- a/target/linux/generic/patches-2.6.39/027-mips_module_reloc.patch +++ b/target/linux/generic/patches-2.6.39/305-mips_module_reloc.patch diff --git a/target/linux/generic/patches-2.6.39/202-mips_mem_functions_performance.patch b/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch index 6ea9ba51e..6ea9ba51e 100644 --- a/target/linux/generic/patches-2.6.39/202-mips_mem_functions_performance.patch +++ b/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch diff --git a/target/linux/generic/patches-2.6.39/208-mips_oprofile_fix.patch b/target/linux/generic/patches-2.6.39/307-mips_oprofile_fix.patch index f83c96bb8..f83c96bb8 100644 --- a/target/linux/generic/patches-2.6.39/208-mips_oprofile_fix.patch +++ b/target/linux/generic/patches-2.6.39/307-mips_oprofile_fix.patch diff --git a/target/linux/generic/patches-2.6.39/029-arm_module_unresolved_weak_sym.patch b/target/linux/generic/patches-2.6.39/310-arm_module_unresolved_weak_sym.patch index c63ff6768..c63ff6768 100644 --- a/target/linux/generic/patches-2.6.39/029-arm_module_unresolved_weak_sym.patch +++ b/target/linux/generic/patches-2.6.39/310-arm_module_unresolved_weak_sym.patch diff --git a/target/linux/generic/patches-2.6.39/991-ppc4xx_optimization.patch b/target/linux/generic/patches-2.6.39/320-ppc4xx_optimization.patch index 49d365928..49d365928 100644 --- a/target/linux/generic/patches-2.6.39/991-ppc4xx_optimization.patch +++ b/target/linux/generic/patches-2.6.39/320-ppc4xx_optimization.patch diff --git a/target/linux/generic/patches-2.6.39/950-powerpc_crtsavres_prereq.patch b/target/linux/generic/patches-2.6.39/321-powerpc_crtsavres_prereq.patch index e1a141b4f..e1a141b4f 100644 --- a/target/linux/generic/patches-2.6.39/950-powerpc_crtsavres_prereq.patch +++ b/target/linux/generic/patches-2.6.39/321-powerpc_crtsavres_prereq.patch diff --git a/target/linux/generic/patches-2.6.39/065-rootfs_split.patch b/target/linux/generic/patches-2.6.39/400-rootfs_split.patch index 081a1b4f0..45072bab2 100644 --- a/target/linux/generic/patches-2.6.39/065-rootfs_split.patch +++ b/target/linux/generic/patches-2.6.39/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.39/222-partial_eraseblock_write.patch b/target/linux/generic/patches-2.6.39/401-partial_eraseblock_write.patch index 873c0d1cb..873c0d1cb 100644 --- a/target/linux/generic/patches-2.6.39/222-partial_eraseblock_write.patch +++ b/target/linux/generic/patches-2.6.39/401-partial_eraseblock_write.patch diff --git a/target/linux/generic/patches-2.6.39/082-mtd_info_move_forward_decl.patch b/target/linux/generic/patches-2.6.39/410-mtd_info_move_forward_decl.patch index 13f0a217d..13f0a217d 100644 --- a/target/linux/generic/patches-2.6.39/082-mtd_info_move_forward_decl.patch +++ b/target/linux/generic/patches-2.6.39/410-mtd_info_move_forward_decl.patch diff --git a/target/linux/generic/patches-2.6.39/070-redboot_space.patch b/target/linux/generic/patches-2.6.39/420-redboot_space.patch index fb6700b07..fb6700b07 100644 --- a/target/linux/generic/patches-2.6.39/070-redboot_space.patch +++ b/target/linux/generic/patches-2.6.39/420-redboot_space.patch diff --git a/target/linux/generic/patches-2.6.39/071-redboot_boardconfig.patch b/target/linux/generic/patches-2.6.39/421-redboot_boardconfig.patch index 9188cee29..9188cee29 100644 --- a/target/linux/generic/patches-2.6.39/071-redboot_boardconfig.patch +++ b/target/linux/generic/patches-2.6.39/421-redboot_boardconfig.patch diff --git a/target/linux/generic/patches-2.6.39/081-mtd_myloader_partition_parser.patch b/target/linux/generic/patches-2.6.39/430-mtd_myloader_partition_parser.patch index 07267eaa2..07267eaa2 100644 --- a/target/linux/generic/patches-2.6.39/081-mtd_myloader_partition_parser.patch +++ b/target/linux/generic/patches-2.6.39/430-mtd_myloader_partition_parser.patch diff --git a/target/linux/generic/patches-2.6.39/060-block2mtd_init.patch b/target/linux/generic/patches-2.6.39/440-block2mtd_init.patch index b0a95a1bd..04dd40893 100644 --- a/target/linux/generic/patches-2.6.39/060-block2mtd_init.patch +++ b/target/linux/generic/patches-2.6.39/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.39/441-block2mtd_refresh.patch b/target/linux/generic/patches-2.6.39/441-block2mtd_refresh.patch new file mode 100644 index 000000000..24ee22f5f --- /dev/null +++ b/target/linux/generic/patches-2.6.39/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.39/066-block2mtd_probe.patch b/target/linux/generic/patches-2.6.39/442-block2mtd_probe.patch index 1afd2ff20..780dd28fd 100644 --- a/target/linux/generic/patches-2.6.39/066-block2mtd_probe.patch +++ b/target/linux/generic/patches-2.6.39/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.39/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic/patches-2.6.39/450-mtd_plat_nand_chip_fixup.patch index 0774e8389..0774e8389 100644 --- a/target/linux/generic/patches-2.6.39/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic/patches-2.6.39/450-mtd_plat_nand_chip_fixup.patch diff --git a/target/linux/generic/patches-2.6.39/083-mtd_fix_nand_correct_data_return_code.patch b/target/linux/generic/patches-2.6.39/451-mtd_fix_nand_correct_data_return_code.patch index f630059e8..f630059e8 100644 --- a/target/linux/generic/patches-2.6.39/083-mtd_fix_nand_correct_data_return_code.patch +++ b/target/linux/generic/patches-2.6.39/451-mtd_fix_nand_correct_data_return_code.patch diff --git a/target/linux/generic/patches-2.6.39/014-cfi_show_amd_extended_table_version.patch b/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch index ecd5c94c9..ecd5c94c9 100644 --- a/target/linux/generic/patches-2.6.39/014-cfi_show_amd_extended_table_version.patch +++ b/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch diff --git a/target/linux/generic/patches-2.6.39/084-mtd_m25p80_add_pm25lv_flash_support.patch b/target/linux/generic/patches-2.6.39/470-mtd_m25p80_add_pm25lv_flash_support.patch index ae4f92219..ae4f92219 100644 --- a/target/linux/generic/patches-2.6.39/084-mtd_m25p80_add_pm25lv_flash_support.patch +++ b/target/linux/generic/patches-2.6.39/470-mtd_m25p80_add_pm25lv_flash_support.patch diff --git a/target/linux/generic/patches-2.6.39/091-mtd-m25p80-add-MX25L1606E-support.patch b/target/linux/generic/patches-2.6.39/472-mtd_m25p80_add_MX25L1606E_support.patch index b5937a355..b5937a355 100644 --- a/target/linux/generic/patches-2.6.39/091-mtd-m25p80-add-MX25L1606E-support.patch +++ b/target/linux/generic/patches-2.6.39/472-mtd_m25p80_add_MX25L1606E_support.patch diff --git a/target/linux/generic/patches-2.6.39/510-yaffs_support.patch b/target/linux/generic/patches-2.6.39/500-yaffs_support.patch index 51ef4fcd3..51ef4fcd3 100644 --- a/target/linux/generic/patches-2.6.39/510-yaffs_support.patch +++ b/target/linux/generic/patches-2.6.39/500-yaffs_support.patch diff --git a/target/linux/generic/patches-2.6.39/511-yaffs-cvs-2009-04-24.patch b/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch index 5c70e79a0..5c70e79a0 100644 --- a/target/linux/generic/patches-2.6.39/511-yaffs-cvs-2009-04-24.patch +++ b/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch diff --git a/target/linux/generic/patches-2.6.39/511-yaffs-git-2010-10-20.patch b/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch index 2f4e6ef83..2f4e6ef83 100644 --- a/target/linux/generic/patches-2.6.39/511-yaffs-git-2010-10-20.patch +++ b/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch diff --git a/target/linux/generic/patches-2.6.39/512-yaffs_symlink_bug.patch b/target/linux/generic/patches-2.6.39/503-yaffs_symlink_bug.patch index dabf2871b..dabf2871b 100644 --- a/target/linux/generic/patches-2.6.39/512-yaffs_symlink_bug.patch +++ b/target/linux/generic/patches-2.6.39/503-yaffs_symlink_bug.patch diff --git a/target/linux/generic/patches-2.6.39/513-yaffs_mutex_fix.patch b/target/linux/generic/patches-2.6.39/504-yaffs_mutex_fix.patch index b34b12f78..b34b12f78 100644 --- a/target/linux/generic/patches-2.6.39/513-yaffs_mutex_fix.patch +++ b/target/linux/generic/patches-2.6.39/504-yaffs_mutex_fix.patch diff --git a/target/linux/generic/patches-2.6.39/008-jffs2_make_lzma_available.patch b/target/linux/generic/patches-2.6.39/510-jffs2_make_lzma_available.patch index a1be39294..a1be39294 100644 --- a/target/linux/generic/patches-2.6.39/008-jffs2_make_lzma_available.patch +++ b/target/linux/generic/patches-2.6.39/510-jffs2_make_lzma_available.patch diff --git a/target/linux/generic/patches-2.6.39/010-debloat_lzma.patch b/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch index 18e4a51ee..18e4a51ee 100644 --- a/target/linux/generic/patches-2.6.39/010-debloat_lzma.patch +++ b/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch diff --git a/target/linux/generic/patches-2.6.39/204-jffs2_eofdetect.patch b/target/linux/generic/patches-2.6.39/512-jffs2_eofdetect.patch index eaf9489d3..eaf9489d3 100644 --- a/target/linux/generic/patches-2.6.39/204-jffs2_eofdetect.patch +++ b/target/linux/generic/patches-2.6.39/512-jffs2_eofdetect.patch diff --git a/target/linux/generic/patches-2.6.39/550-squashfs_update_xz_comp_opts.patch b/target/linux/generic/patches-2.6.39/520-squashfs_update_xz_comp_opts.patch index 523b89f9a..523b89f9a 100644 --- a/target/linux/generic/patches-2.6.39/550-squashfs_update_xz_comp_opts.patch +++ b/target/linux/generic/patches-2.6.39/520-squashfs_update_xz_comp_opts.patch diff --git a/target/linux/generic/patches-2.6.39/100-netfilter_layer7_2.22.patch b/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch index 2bebf646c..710afc8c9 100644 --- a/target/linux/generic/patches-2.6.39/100-netfilter_layer7_2.22.patch +++ b/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -1020,6 +1020,27 @@ config NETFILTER_XT_MATCH_STATE +@@ -1018,6 +1018,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.39/101-netfilter_layer7_pktmatch.patch b/target/linux/generic/patches-2.6.39/601-netfilter_layer7_pktmatch.patch index f65e301fd..f65e301fd 100644 --- a/target/linux/generic/patches-2.6.39/101-netfilter_layer7_pktmatch.patch +++ b/target/linux/generic/patches-2.6.39/601-netfilter_layer7_pktmatch.patch diff --git a/target/linux/generic/patches-2.6.39/102-netfilter_layer7_match.patch b/target/linux/generic/patches-2.6.39/602-netfilter_layer7_match.patch index b2e48c824..b2e48c824 100644 --- a/target/linux/generic/patches-2.6.39/102-netfilter_layer7_match.patch +++ b/target/linux/generic/patches-2.6.39/602-netfilter_layer7_match.patch diff --git a/target/linux/generic/patches-2.6.39/103-netfilter_layer7_2.6.36_fix.patch b/target/linux/generic/patches-2.6.39/603-netfilter_layer7_2.6.36_fix.patch index 58e5c30a3..9f4c310d7 100644 --- a/target/linux/generic/patches-2.6.39/103-netfilter_layer7_2.6.36_fix.patch +++ b/target/linux/generic/patches-2.6.39/603-netfilter_layer7_2.6.36_fix.patch @@ -1,6 +1,6 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -834,6 +834,27 @@ config NETFILTER_XT_MATCH_IPVS +@@ -832,6 +832,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 -@@ -1020,26 +1041,11 @@ config NETFILTER_XT_MATCH_STATE +@@ -1018,26 +1039,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.39/160-netfilter_cisco_794x_iphone.patch b/target/linux/generic/patches-2.6.39/604-netfilter_cisco_794x_iphone.patch index 662a499d1..662a499d1 100644 --- a/target/linux/generic/patches-2.6.39/160-netfilter_cisco_794x_iphone.patch +++ b/target/linux/generic/patches-2.6.39/604-netfilter_cisco_794x_iphone.patch diff --git a/target/linux/generic/patches-2.6.39/190-netfilter_rtsp.patch b/target/linux/generic/patches-2.6.39/605-netfilter_rtsp.patch index ead213a4f..ead213a4f 100644 --- a/target/linux/generic/patches-2.6.39/190-netfilter_rtsp.patch +++ b/target/linux/generic/patches-2.6.39/605-netfilter_rtsp.patch diff --git a/target/linux/generic/patches-2.6.39/200-sched_esfq.patch b/target/linux/generic/patches-2.6.39/620-sched_esfq.patch index 868f97b33..868f97b33 100644 --- a/target/linux/generic/patches-2.6.39/200-sched_esfq.patch +++ b/target/linux/generic/patches-2.6.39/620-sched_esfq.patch diff --git a/target/linux/generic/patches-2.6.39/290-sched_act_connmark.patch b/target/linux/generic/patches-2.6.39/621-sched_act_connmark.patch index c8c9b232a..c8c9b232a 100644 --- a/target/linux/generic/patches-2.6.39/290-sched_act_connmark.patch +++ b/target/linux/generic/patches-2.6.39/621-sched_act_connmark.patch diff --git a/target/linux/generic/patches-2.6.39/240-packet_socket_type.patch b/target/linux/generic/patches-2.6.39/630-packet_socket_type.patch index 75b61290c..75b61290c 100644 --- a/target/linux/generic/patches-2.6.39/240-packet_socket_type.patch +++ b/target/linux/generic/patches-2.6.39/630-packet_socket_type.patch diff --git a/target/linux/generic/patches-2.6.39/270-bridge_no_eap_forward.patch b/target/linux/generic/patches-2.6.39/640-bridge_no_eap_forward.patch index dac898276..dac898276 100644 --- a/target/linux/generic/patches-2.6.39/270-bridge_no_eap_forward.patch +++ b/target/linux/generic/patches-2.6.39/640-bridge_no_eap_forward.patch diff --git a/target/linux/generic/patches-2.6.39/271-bridge_always_accept_eap.patch b/target/linux/generic/patches-2.6.39/641-bridge_always_accept_eap.patch index b3a793e49..b3a793e49 100644 --- a/target/linux/generic/patches-2.6.39/271-bridge_always_accept_eap.patch +++ b/target/linux/generic/patches-2.6.39/641-bridge_always_accept_eap.patch diff --git a/target/linux/generic/patches-2.6.39/300-bridge_port_isolate.patch b/target/linux/generic/patches-2.6.39/642-bridge_port_isolate.patch index c051a29f2..c051a29f2 100644 --- a/target/linux/generic/patches-2.6.39/300-bridge_port_isolate.patch +++ b/target/linux/generic/patches-2.6.39/642-bridge_port_isolate.patch diff --git a/target/linux/generic/patches-2.6.39/250-pppoe_header_pad.patch b/target/linux/generic/patches-2.6.39/650-pppoe_header_pad.patch index 4875d5f23..4875d5f23 100644 --- a/target/linux/generic/patches-2.6.39/250-pppoe_header_pad.patch +++ b/target/linux/generic/patches-2.6.39/650-pppoe_header_pad.patch diff --git a/target/linux/generic/patches-2.6.39/940-wireless_mesh_header.patch b/target/linux/generic/patches-2.6.39/651-wireless_mesh_header.patch index 48c4c2a15..48c4c2a15 100644 --- a/target/linux/generic/patches-2.6.39/940-wireless_mesh_header.patch +++ b/target/linux/generic/patches-2.6.39/651-wireless_mesh_header.patch diff --git a/target/linux/generic/patches-2.6.39/650-swconfig.patch b/target/linux/generic/patches-2.6.39/700-swconfig.patch index 6825037ce..6825037ce 100644 --- a/target/linux/generic/patches-2.6.39/650-swconfig.patch +++ b/target/linux/generic/patches-2.6.39/700-swconfig.patch diff --git a/target/linux/generic/patches-2.6.39/600-phy_extension.patch b/target/linux/generic/patches-2.6.39/701-phy_extension.patch index b2d1665ce..b2d1665ce 100644 --- a/target/linux/generic/patches-2.6.39/600-phy_extension.patch +++ b/target/linux/generic/patches-2.6.39/701-phy_extension.patch diff --git a/target/linux/generic/patches-2.6.39/601-phy-add-aneg-done-function.patch b/target/linux/generic/patches-2.6.39/702-phy_add_aneg_done_function.patch index 776b76843..776b76843 100644 --- a/target/linux/generic/patches-2.6.39/601-phy-add-aneg-done-function.patch +++ b/target/linux/generic/patches-2.6.39/702-phy_add_aneg_done_function.patch diff --git a/target/linux/generic/patches-2.6.39/620-phy_adm6996.patch b/target/linux/generic/patches-2.6.39/720-phy_adm6996.patch index 614cfdfe1..5b2218edf 100644 --- a/target/linux/generic/patches-2.6.39/620-phy_adm6996.patch +++ b/target/linux/generic/patches-2.6.39/720-phy_adm6996.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -91,6 +91,11 @@ config MICREL_PHY +@@ -97,6 +97,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.39/630-phy_packets.patch b/target/linux/generic/patches-2.6.39/721-phy_packets.patch index b8a76b0ce..b8a76b0ce 100644 --- a/target/linux/generic/patches-2.6.39/630-phy_packets.patch +++ b/target/linux/generic/patches-2.6.39/721-phy_packets.patch diff --git a/target/linux/generic/patches-2.6.39/660-phy_mvswitch.patch b/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch index b5fef7668..b5fef7668 100644 --- a/target/linux/generic/patches-2.6.39/660-phy_mvswitch.patch +++ b/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch diff --git a/target/linux/generic/patches-2.6.39/670-phy_ip175c.patch b/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch index d99ca6179..d99ca6179 100644 --- a/target/linux/generic/patches-2.6.39/670-phy_ip175c.patch +++ b/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch diff --git a/target/linux/generic/patches-2.6.39/680-phy_ar8216.patch b/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch index a7afdfd82..a7afdfd82 100644 --- a/target/linux/generic/patches-2.6.39/680-phy_ar8216.patch +++ b/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch diff --git a/target/linux/generic/patches-2.6.39/690-phy_rtl8306.patch b/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch index cd5e1a88b..cd5e1a88b 100644 --- a/target/linux/generic/patches-2.6.39/690-phy_rtl8306.patch +++ b/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch diff --git a/target/linux/generic/patches-2.6.39/691-phy_rtl8366.patch b/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch index c4599969c..c4599969c 100644 --- a/target/linux/generic/patches-2.6.39/691-phy_rtl8366.patch +++ b/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch diff --git a/target/linux/generic/patches-2.6.39/903-hostap_txpower.patch b/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch index e4c1803ff..e4c1803ff 100644 --- a/target/linux/generic/patches-2.6.39/903-hostap_txpower.patch +++ b/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch diff --git a/target/linux/generic/patches-2.6.39/030-pci_disable_common_quirks.patch b/target/linux/generic/patches-2.6.39/810-pci_disable_common_quirks.patch index c94783616..c94783616 100644 --- a/target/linux/generic/patches-2.6.39/030-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-2.6.39/810-pci_disable_common_quirks.patch diff --git a/target/linux/generic/patches-2.6.39/031-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch index 47abdf27c..47abdf27c 100644 --- a/target/linux/generic/patches-2.6.39/031-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch diff --git a/target/linux/generic/patches-2.6.39/310-usb-add-usb_find_device_by_name.patch b/target/linux/generic/patches-2.6.39/820-usb_add_usb_find_device_by_name.patch index 3aeda678f..3aeda678f 100644 --- a/target/linux/generic/patches-2.6.39/310-usb-add-usb_find_device_by_name.patch +++ b/target/linux/generic/patches-2.6.39/820-usb_add_usb_find_device_by_name.patch diff --git a/target/linux/generic/patches-2.6.39/801-usb_serial_endpoint_size.patch b/target/linux/generic/patches-2.6.39/821-usb_serial_endpoint_size.patch index 3dd419f2a..3dd419f2a 100644 --- a/target/linux/generic/patches-2.6.39/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic/patches-2.6.39/821-usb_serial_endpoint_size.patch diff --git a/target/linux/generic/patches-2.6.39/400-ledtrig_morse.patch b/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch index 2edc4f33c..2edc4f33c 100644 --- a/target/linux/generic/patches-2.6.39/400-ledtrig_morse.patch +++ b/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch diff --git a/target/linux/generic/patches-2.6.39/402-ledtrig_netdev.patch b/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch index 413174006..413174006 100644 --- a/target/linux/generic/patches-2.6.39/402-ledtrig_netdev.patch +++ b/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch diff --git a/target/linux/generic/patches-2.6.39/403-ledtrig-usbdev.patch b/target/linux/generic/patches-2.6.39/832-ledtrig_usbdev.patch index 54c94a665..54c94a665 100644 --- a/target/linux/generic/patches-2.6.39/403-ledtrig-usbdev.patch +++ b/target/linux/generic/patches-2.6.39/832-ledtrig_usbdev.patch diff --git a/target/linux/generic/patches-2.6.39/410-gpio_buttons.patch b/target/linux/generic/patches-2.6.39/833-gpio_buttons.patch index cfe00286d..cfe00286d 100644 --- a/target/linux/generic/patches-2.6.39/410-gpio_buttons.patch +++ b/target/linux/generic/patches-2.6.39/833-gpio_buttons.patch diff --git a/target/linux/generic/patches-2.6.39/411-gpio_ioctl.patch b/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch index 6609a1670..6609a1670 100644 --- a/target/linux/generic/patches-2.6.39/411-gpio_ioctl.patch +++ b/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch diff --git a/target/linux/generic/patches-2.6.39/420-gpiodev.patch b/target/linux/generic/patches-2.6.39/835-gpiodev.patch index f41d5a685..f41d5a685 100644 --- a/target/linux/generic/patches-2.6.39/420-gpiodev.patch +++ b/target/linux/generic/patches-2.6.39/835-gpiodev.patch diff --git a/target/linux/generic/patches-2.6.39/700-rtc7301.patch b/target/linux/generic/patches-2.6.39/840-rtc7301.patch index 75f71d760..75f71d760 100644 --- a/target/linux/generic/patches-2.6.39/700-rtc7301.patch +++ b/target/linux/generic/patches-2.6.39/840-rtc7301.patch diff --git a/target/linux/generic/patches-2.6.39/750-glamo-headers.patch b/target/linux/generic/patches-2.6.39/850-glamo_headers.patch index f3cf97365..f3cf97365 100644 --- a/target/linux/generic/patches-2.6.39/750-glamo-headers.patch +++ b/target/linux/generic/patches-2.6.39/850-glamo_headers.patch diff --git a/target/linux/generic/patches-2.6.39/920-01-hotpluggable-spi-gpio.patch b/target/linux/generic/patches-2.6.39/860-01_hotpluggable_spi_gpio.patch index f8e6374fa..f8e6374fa 100644 --- a/target/linux/generic/patches-2.6.39/920-01-hotpluggable-spi-gpio.patch +++ b/target/linux/generic/patches-2.6.39/860-01_hotpluggable_spi_gpio.patch diff --git a/target/linux/generic/patches-2.6.39/920-04-spi-gpio-implement-spi-delay.patch b/target/linux/generic/patches-2.6.39/861-04_spi_gpio_implement_spi_delay.patch index 4b145c273..4b145c273 100644 --- a/target/linux/generic/patches-2.6.39/920-04-spi-gpio-implement-spi-delay.patch +++ b/target/linux/generic/patches-2.6.39/861-04_spi_gpio_implement_spi_delay.patch diff --git a/target/linux/generic/patches-2.6.39/921-gpio_spi_driver.patch b/target/linux/generic/patches-2.6.39/862-gpio_spi_driver.patch index 3ea9f9091..3ea9f9091 100644 --- a/target/linux/generic/patches-2.6.39/921-gpio_spi_driver.patch +++ b/target/linux/generic/patches-2.6.39/862-gpio_spi_driver.patch diff --git a/target/linux/generic/patches-2.6.39/922-gpiommc.patch b/target/linux/generic/patches-2.6.39/863-gpiommc.patch index c10eaeed2..c10eaeed2 100644 --- a/target/linux/generic/patches-2.6.39/922-gpiommc.patch +++ b/target/linux/generic/patches-2.6.39/863-gpiommc.patch diff --git a/target/linux/generic/patches-2.6.39/923-gpiommc-configfs-locking.patch b/target/linux/generic/patches-2.6.39/864-gpiommc_configfs_locking.patch index 2e4e820b2..2e4e820b2 100644 --- a/target/linux/generic/patches-2.6.39/923-gpiommc-configfs-locking.patch +++ b/target/linux/generic/patches-2.6.39/864-gpiommc_configfs_locking.patch diff --git a/target/linux/generic/patches-2.6.39/975-hifn795x-byteswap.patch b/target/linux/generic/patches-2.6.39/870-hifn795x_byteswap.patch index 3a37c951e..3a37c951e 100644 --- a/target/linux/generic/patches-2.6.39/975-hifn795x-byteswap.patch +++ b/target/linux/generic/patches-2.6.39/870-hifn795x_byteswap.patch diff --git a/target/linux/generic/patches-2.6.39/203-slab_maxsize.patch b/target/linux/generic/patches-2.6.39/900-slab_maxsize.patch index 1c9569450..1c9569450 100644 --- a/target/linux/generic/patches-2.6.39/203-slab_maxsize.patch +++ b/target/linux/generic/patches-2.6.39/900-slab_maxsize.patch diff --git a/target/linux/generic/patches-2.6.39/219-kobject_uevent.patch b/target/linux/generic/patches-2.6.39/910-kobject_uevent.patch index f15749fa1..f15749fa1 100644 --- a/target/linux/generic/patches-2.6.39/219-kobject_uevent.patch +++ b/target/linux/generic/patches-2.6.39/910-kobject_uevent.patch diff --git a/target/linux/generic/patches-2.6.39/223-kobject-add-broadcast_uevent.patch b/target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch index a428ec5cd..a428ec5cd 100644 --- a/target/linux/generic/patches-2.6.39/223-kobject-add-broadcast_uevent.patch +++ b/target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch diff --git a/target/linux/generic/patches-2.6.39/840-unable_to_open_console.patch b/target/linux/generic/patches-2.6.39/920-unable_to_open_console.patch index 27b900293..27b900293 100644 --- a/target/linux/generic/patches-2.6.39/840-unable_to_open_console.patch +++ b/target/linux/generic/patches-2.6.39/920-unable_to_open_console.patch diff --git a/target/linux/generic/patches-2.6.39/999-use_preinit_as_init.patch b/target/linux/generic/patches-2.6.39/921-use_preinit_as_init.patch index c47779810..c47779810 100644 --- a/target/linux/generic/patches-2.6.39/999-use_preinit_as_init.patch +++ b/target/linux/generic/patches-2.6.39/921-use_preinit_as_init.patch diff --git a/target/linux/generic/patches-2.6.39/970-ocf_kbuild_integration.patch b/target/linux/generic/patches-2.6.39/940-ocf_kbuild_integration.patch index 3c322f3d1..3c322f3d1 100644 --- a/target/linux/generic/patches-2.6.39/970-ocf_kbuild_integration.patch +++ b/target/linux/generic/patches-2.6.39/940-ocf_kbuild_integration.patch diff --git a/target/linux/generic/patches-2.6.39/971-ocf_20100325.patch b/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch index 537f9ed37..537f9ed37 100644 --- a/target/linux/generic/patches-2.6.39/971-ocf_20100325.patch +++ b/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch diff --git a/target/linux/generic/patches-2.6.39/980-vm_exports.patch b/target/linux/generic/patches-2.6.39/950-vm_exports.patch index 9fcaabc79..9fcaabc79 100644 --- a/target/linux/generic/patches-2.6.39/980-vm_exports.patch +++ b/target/linux/generic/patches-2.6.39/950-vm_exports.patch diff --git a/target/linux/generic/patches-2.6.39/009-decompress_unlzo_fix.patch b/target/linux/generic/patches-2.6.39/960-decompress_unlzo_fix.patch index ee7c118ef..ee7c118ef 100644 --- a/target/linux/generic/patches-2.6.39/009-decompress_unlzo_fix.patch +++ b/target/linux/generic/patches-2.6.39/960-decompress_unlzo_fix.patch |