diff options
Diffstat (limited to 'target/linux')
21 files changed, 40 insertions, 53 deletions
diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile index ce5e8624c..ea18b7c77 100644 --- a/target/linux/brcm47xx/Makefile +++ b/target/linux/brcm47xx/Makefile @@ -11,7 +11,7 @@ BOARD:=brcm47xx BOARDNAME:=Broadcom BCM947xx/953xx FEATURES:=squashfs usb pcmcia -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += wpad-mini kmod-switch kmod-diag nvram diff --git a/target/linux/brcm47xx/patches-3.0/022-USB-Add-ehci-ssb-driver.patch b/target/linux/brcm47xx/patches-3.0/022-USB-Add-ehci-ssb-driver.patch index bd5158754..33e23c231 100644 --- a/target/linux/brcm47xx/patches-3.0/022-USB-Add-ehci-ssb-driver.patch +++ b/target/linux/brcm47xx/patches-3.0/022-USB-Add-ehci-ssb-driver.patch @@ -22,7 +22,7 @@ depends on USB --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -1284,9 +1284,14 @@ MODULE_LICENSE ("GPL"); +@@ -1312,9 +1312,14 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ehci_grlib_driver #endif @@ -38,7 +38,7 @@ #error "missing bus glue for ehci-hcd" #endif -@@ -1346,10 +1351,20 @@ static int __init ehci_hcd_init(void) +@@ -1374,10 +1379,20 @@ static int __init ehci_hcd_init(void) if (retval < 0) goto clean4; #endif @@ -60,7 +60,7 @@ clean4: #endif #ifdef OF_PLATFORM_DRIVER -@@ -1380,6 +1395,9 @@ module_init(ehci_hcd_init); +@@ -1408,6 +1423,9 @@ module_init(ehci_hcd_init); static void __exit ehci_hcd_cleanup(void) { diff --git a/target/linux/brcm47xx/patches-3.0/023-usb_ehci_ohci.patch b/target/linux/brcm47xx/patches-3.0/023-usb_ehci_ohci.patch index ed444548b..5140a723e 100644 --- a/target/linux/brcm47xx/patches-3.0/023-usb_ehci_ohci.patch +++ b/target/linux/brcm47xx/patches-3.0/023-usb_ehci_ohci.patch @@ -152,7 +152,7 @@ +#endif --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -1352,17 +1352,21 @@ static int __init ehci_hcd_init(void) +@@ -1380,17 +1380,21 @@ static int __init ehci_hcd_init(void) goto clean4; #endif @@ -174,7 +174,7 @@ #ifdef XILINX_OF_PLATFORM_DRIVER platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); clean4: -@@ -1395,9 +1399,11 @@ module_init(ehci_hcd_init); +@@ -1423,9 +1427,11 @@ module_init(ehci_hcd_init); static void __exit ehci_hcd_cleanup(void) { diff --git a/target/linux/brcm47xx/patches-3.0/302-kmod-fuse-dcache-bug-fuse.patch b/target/linux/brcm47xx/patches-3.0/302-kmod-fuse-dcache-bug-fuse.patch index 6756a0bf6..12e725106 100644 --- a/target/linux/brcm47xx/patches-3.0/302-kmod-fuse-dcache-bug-fuse.patch +++ b/target/linux/brcm47xx/patches-3.0/302-kmod-fuse-dcache-bug-fuse.patch @@ -1,6 +1,6 @@ --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c -@@ -647,11 +647,20 @@ static int fuse_copy_fill(struct fuse_co +@@ -651,11 +651,20 @@ static int fuse_copy_fill(struct fuse_co return lock_request(cs->fc, cs->req); } diff --git a/target/linux/brcm47xx/patches-3.0/700-ssb-gigabit-ethernet-driver.patch b/target/linux/brcm47xx/patches-3.0/700-ssb-gigabit-ethernet-driver.patch index bde1fb143..d429573f2 100644 --- a/target/linux/brcm47xx/patches-3.0/700-ssb-gigabit-ethernet-driver.patch +++ b/target/linux/brcm47xx/patches-3.0/700-ssb-gigabit-ethernet-driver.patch @@ -145,7 +145,7 @@ tw32(GRC_MODE, tp->grc_mode); if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) { -@@ -7408,9 +7446,12 @@ static int tg3_halt_cpu(struct tg3 *tp, +@@ -7403,9 +7441,12 @@ static int tg3_halt_cpu(struct tg3 *tp, return -ENODEV; } @@ -161,7 +161,7 @@ return 0; } -@@ -7472,6 +7513,11 @@ static int tg3_load_5701_a0_firmware_fix +@@ -7467,6 +7508,11 @@ static int tg3_load_5701_a0_firmware_fix const __be32 *fw_data; int err, i; @@ -173,7 +173,7 @@ fw_data = (void *)tp->fw->data; /* Firmware blob starts with version numbers, followed by -@@ -7528,6 +7574,11 @@ static int tg3_load_tso_firmware(struct +@@ -7523,6 +7569,11 @@ static int tg3_load_tso_firmware(struct unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size; int err, i; @@ -185,7 +185,7 @@ if (tg3_flag(tp, HW_TSO_1) || tg3_flag(tp, HW_TSO_2) || tg3_flag(tp, HW_TSO_3)) -@@ -8825,6 +8876,11 @@ static void tg3_timer(unsigned long __op +@@ -8819,6 +8870,11 @@ static void tg3_timer(unsigned long __op spin_lock(&tp->lock); @@ -197,7 +197,7 @@ if (!tg3_flag(tp, TAGGED_STATUS)) { /* All of this garbage is because when using non-tagged * IRQ status the mailbox/status_block protocol the chip -@@ -10448,6 +10504,11 @@ static int tg3_test_nvram(struct tg3 *tp +@@ -10446,6 +10502,11 @@ static int tg3_test_nvram(struct tg3 *tp if (tg3_flag(tp, NO_NVRAM)) return 0; @@ -209,7 +209,7 @@ if (tg3_nvram_read(tp, 0, &magic) != 0) return -EIO; -@@ -11442,7 +11503,7 @@ static int tg3_ioctl(struct net_device * +@@ -11440,7 +11501,7 @@ static int tg3_ioctl(struct net_device * return -EAGAIN; spin_lock_bh(&tp->lock); @@ -218,7 +218,7 @@ spin_unlock_bh(&tp->lock); data->val_out = mii_regval; -@@ -11458,7 +11519,7 @@ static int tg3_ioctl(struct net_device * +@@ -11456,7 +11517,7 @@ static int tg3_ioctl(struct net_device * return -EAGAIN; spin_lock_bh(&tp->lock); @@ -227,7 +227,7 @@ spin_unlock_bh(&tp->lock); return err; -@@ -12188,6 +12249,13 @@ static void __devinit tg3_get_5720_nvram +@@ -12186,6 +12247,13 @@ static void __devinit tg3_get_5720_nvram /* Chips other than 5700/5701 use the NVRAM for fetching info. */ static void __devinit tg3_nvram_init(struct tg3 *tp) { @@ -241,7 +241,7 @@ tw32_f(GRC_EEPROM_ADDR, (EEPROM_ADDR_FSM_RESET | (EEPROM_DEFAULT_CLOCK_PERIOD << -@@ -12454,6 +12522,9 @@ static int tg3_nvram_write_block(struct +@@ -12452,6 +12520,9 @@ static int tg3_nvram_write_block(struct { int ret; diff --git a/target/linux/brcm63xx/patches-3.0/011-add_bcm63xx_ehci_controller.patch b/target/linux/brcm63xx/patches-3.0/011-add_bcm63xx_ehci_controller.patch index ef059f9b7..466b988ef 100644 --- a/target/linux/brcm63xx/patches-3.0/011-add_bcm63xx_ehci_controller.patch +++ b/target/linux/brcm63xx/patches-3.0/011-add_bcm63xx_ehci_controller.patch @@ -165,7 +165,7 @@ Signed-off-by: Maxime Bizon <mbizon@freebox.fr> +MODULE_ALIAS("platform:bcm63xx_ehci"); --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -1284,6 +1284,11 @@ MODULE_LICENSE ("GPL"); +@@ -1312,6 +1312,11 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ehci_grlib_driver #endif diff --git a/target/linux/generic/patches-3.0/100-overlayfs_v10.patch b/target/linux/generic/patches-3.0/100-overlayfs_v10.patch index 2d6dcf128..e4fe1a57e 100644 --- a/target/linux/generic/patches-3.0/100-overlayfs_v10.patch +++ b/target/linux/generic/patches-3.0/100-overlayfs_v10.patch @@ -184,7 +184,7 @@ struct pipe_inode_info *opipe, --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -1494,6 +1494,23 @@ void drop_collected_mounts(struct vfsmou +@@ -1495,6 +1495,23 @@ void drop_collected_mounts(struct vfsmou release_mounts(&umount_list); } diff --git a/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch index 79e26b32d..2da61397d 100644 --- a/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch @@ -11,7 +11,7 @@ &ehci->regs->intr_enable); /* Turn On Interrupts */ --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c -@@ -656,7 +656,7 @@ ehci_hub_status_data (struct usb_hcd *hc +@@ -655,7 +655,7 @@ ehci_hub_status_data (struct usb_hcd *hc * always set, seem to clear PORT_OCC and PORT_CSC when writing to * PORT_POWER; that's surprising, but maybe within-spec. */ @@ -20,7 +20,7 @@ mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; -@@ -881,7 +881,7 @@ static int ehci_hub_control ( +@@ -880,7 +880,7 @@ static int ehci_hub_control ( if (temp & PORT_PEC) status |= USB_PORT_STAT_C_ENABLE << 16; @@ -31,10 +31,10 @@ /* --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h -@@ -137,6 +137,7 @@ struct ehci_hcd { /* one per controlle - unsigned fs_i_thresh:1; /* Intel iso scheduling */ +@@ -138,6 +138,7 @@ struct ehci_hcd { /* one per controlle unsigned use_dummy_qh:1; /* AMD Frame List table quirk*/ unsigned has_synopsys_hc_bug:1; /* Synopsys HC */ + unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */ + unsigned ignore_oc:1; /* required for usb32 quirk */ diff --git a/target/linux/generic/patches-3.0/400-rootfs_split.patch b/target/linux/generic/patches-3.0/400-rootfs_split.patch index ccbe83ea3..9eb05c4af 100644 --- a/target/linux/generic/patches-3.0/400-rootfs_split.patch +++ b/target/linux/generic/patches-3.0/400-rootfs_split.patch @@ -257,7 +257,7 @@ --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c -@@ -948,6 +948,12 @@ static int mtd_ioctl(struct file *file, +@@ -949,6 +949,12 @@ static int mtd_ioctl(struct file *file, break; } diff --git a/target/linux/generic/patches-3.0/630-packet_socket_type.patch b/target/linux/generic/patches-3.0/630-packet_socket_type.patch index 934e195b8..99b5553b4 100644 --- a/target/linux/generic/patches-3.0/630-packet_socket_type.patch +++ b/target/linux/generic/patches-3.0/630-packet_socket_type.patch @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -687,12 +690,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -690,12 +693,12 @@ static int tpacket_rcv(struct sk_buff *s struct timespec ts; struct skb_shared_hwtstamps *shhwtstamps = skb_hwtstamps(skb); @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -1529,6 +1532,7 @@ static int packet_create(struct net *net +@@ -1532,6 +1535,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -2102,6 +2106,16 @@ packet_setsockopt(struct socket *sock, i +@@ -2105,6 +2109,16 @@ packet_setsockopt(struct socket *sock, i po->tp_tstamp = val; return 0; } @@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> default: return -ENOPROTOOPT; } -@@ -2159,6 +2173,13 @@ static int packet_getsockopt(struct sock +@@ -2162,6 +2176,13 @@ static int packet_getsockopt(struct sock data = &val; break; diff --git a/target/linux/generic/patches-3.0/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.0/811-pci_disable_usb_common_quirks.patch index 1a003ee3c..3bbadd42a 100644 --- a/target/linux/generic/patches-3.0/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-3.0/811-pci_disable_usb_common_quirks.patch @@ -10,7 +10,7 @@ static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -869,3 +871,5 @@ static void __devinit quirk_usb_early_ha +@@ -883,3 +885,5 @@ static void __devinit quirk_usb_early_ha quirk_usb_handoff_xhci(pdev); } DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, quirk_usb_early_handoff); diff --git a/target/linux/generic/patches-3.0/950-vm_exports.patch b/target/linux/generic/patches-3.0/950-vm_exports.patch index 4be67a3a8..7e80ced39 100644 --- a/target/linux/generic/patches-3.0/950-vm_exports.patch +++ b/target/linux/generic/patches-3.0/950-vm_exports.patch @@ -61,7 +61,7 @@ { --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4937,6 +4937,7 @@ int can_nice(const struct task_struct *p +@@ -4923,6 +4923,7 @@ int can_nice(const struct task_struct *p return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); } @@ -97,7 +97,7 @@ int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages) { -@@ -1361,6 +1362,7 @@ struct vm_struct *get_vm_area(unsigned l +@@ -1383,6 +1384,7 @@ struct vm_struct *get_vm_area(unsigned l return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END, -1, GFP_KERNEL, __builtin_return_address(0)); } @@ -107,7 +107,7 @@ void *caller) --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -871,6 +871,7 @@ extern bool skip_free_areas_node(unsigne +@@ -870,6 +870,7 @@ extern bool skip_free_areas_node(unsigne int shmem_lock(struct file *file, int lock, struct user_struct *user); struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags); diff --git a/target/linux/malta/Makefile b/target/linux/malta/Makefile index 2c884dfa4..03be92484 100644 --- a/target/linux/malta/Makefile +++ b/target/linux/malta/Makefile @@ -13,7 +13,7 @@ SUBTARGETS:=le be INITRAMFS_EXTRA_FILES:= MAINTAINER:=Florian Fainelli <florian@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/malta/patches-3.0/001-mips-malta-fix-crash-smp-kernel-on-non-cmp-systems.patch b/target/linux/malta/patches-3.0/001-mips-malta-fix-crash-smp-kernel-on-non-cmp-systems.patch index 03866df7f..2f29a33d9 100644 --- a/target/linux/malta/patches-3.0/001-mips-malta-fix-crash-smp-kernel-on-non-cmp-systems.patch +++ b/target/linux/malta/patches-3.0/001-mips-malta-fix-crash-smp-kernel-on-non-cmp-systems.patch @@ -24,11 +24,9 @@ Patchwork: https://patchwork.linux-mips.org/patch/2413/ arch/mips/pmc-sierra/msp71xx/msp_setup.c | 8 ++--- 4 files changed, 56 insertions(+), 24 deletions(-) -diff --git a/arch/mips/include/asm/smp-ops.h b/arch/mips/include/asm/smp-ops.h -index 9e09af3..48b03ff 100644 --- a/arch/mips/include/asm/smp-ops.h +++ b/arch/mips/include/asm/smp-ops.h -@@ -56,8 +56,43 @@ static inline void register_smp_ops(struct plat_smp_ops *ops) +@@ -56,8 +56,43 @@ static inline void register_smp_ops(stru #endif /* !CONFIG_SMP */ @@ -75,8 +73,6 @@ index 9e09af3..48b03ff 100644 +} #endif /* __ASM_SMP_OPS_H */ -diff --git a/arch/mips/mipssim/sim_setup.c b/arch/mips/mipssim/sim_setup.c -index 55f22a3..1970069 100644 --- a/arch/mips/mipssim/sim_setup.c +++ b/arch/mips/mipssim/sim_setup.c @@ -59,18 +59,17 @@ void __init prom_init(void) @@ -106,8 +102,6 @@ index 55f22a3..1970069 100644 } static void __init serial_init(void) -diff --git a/arch/mips/mti-malta/malta-init.c b/arch/mips/mti-malta/malta-init.c -index 31180c3..4b988b9 100644 --- a/arch/mips/mti-malta/malta-init.c +++ b/arch/mips/mti-malta/malta-init.c @@ -28,6 +28,7 @@ @@ -140,8 +134,6 @@ index 31180c3..4b988b9 100644 #ifdef CONFIG_MIPS_MT_SMTC register_smp_ops(&msmtc_smp_ops); #endif -diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c -index 2413ea6..0abfbe0 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_setup.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c @@ -228,13 +228,11 @@ void __init prom_init(void) @@ -161,6 +153,3 @@ index 2413ea6..0abfbe0 100644 #ifdef CONFIG_PMCTWILED /* --- -1.7.3.4 - diff --git a/target/linux/orion/Makefile b/target/linux/orion/Makefile index 54e0c37ff..fcd0bb5ea 100644 --- a/target/linux/orion/Makefile +++ b/target/linux/orion/Makefile @@ -13,7 +13,7 @@ SUBTARGETS:=generic harddisk CFLAGS=-Os -pipe -march=armv5te -mtune=xscale -fno-caller-saves MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile index b2cb3a25a..450849d5d 100644 --- a/target/linux/ppc40x/Makefile +++ b/target/linux/ppc40x/Makefile @@ -13,7 +13,7 @@ FEATURES:=squashfs CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/ppc44x/Makefile b/target/linux/ppc44x/Makefile index 0de828259..3a7e6c694 100644 --- a/target/linux/ppc44x/Makefile +++ b/target/linux/ppc44x/Makefile @@ -13,7 +13,7 @@ FEATURES:=squashfs CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/realview/Makefile b/target/linux/realview/Makefile index e758ea77e..be0963025 100644 --- a/target/linux/realview/Makefile +++ b/target/linux/realview/Makefile @@ -13,7 +13,7 @@ FEATURES:=fpu ramdisk CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves MAINTAINER:=Florian Fainelli <florian@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile index 1f7b3fbca..f6c4586e2 100644 --- a/target/linux/uml/Makefile +++ b/target/linux/uml/Makefile @@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux FEATURES:=ext4 audio MAINTAINER:=Florian Fainelli <florian@openwrt.org> -LINUX_VERSION:=3.0.3 +LINUX_VERSION:=3.0.9 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/uml/patches-3.0/002-export___sprintf_chk.patch b/target/linux/uml/patches-3.0/002-export___sprintf_chk.patch index 1d3cf4911..cda1ffe6f 100644 --- a/target/linux/uml/patches-3.0/002-export___sprintf_chk.patch +++ b/target/linux/uml/patches-3.0/002-export___sprintf_chk.patch @@ -1,8 +1,6 @@ -diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c -index 05f5ea8..9e71e7e 100644 --- a/arch/um/os-Linux/user_syms.c +++ b/arch/um/os-Linux/user_syms.c -@@ -18,6 +18,9 @@ extern void *memmove(void *, const void *, size_t); +@@ -18,6 +18,9 @@ extern void *memmove(void *, const void extern void *memset(void *, int, size_t); extern int printf(const char *, ...); diff --git a/target/linux/uml/patches-3.0/901-lib_zlib_deflate_visible.patch b/target/linux/uml/patches-3.0/901-lib_zlib_deflate_visible.patch index f4aba9bd7..e9ec0cbc9 100644 --- a/target/linux/uml/patches-3.0/901-lib_zlib_deflate_visible.patch +++ b/target/linux/uml/patches-3.0/901-lib_zlib_deflate_visible.patch @@ -3,7 +3,7 @@ or as a module --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -98,7 +98,7 @@ config ZLIB_INFLATE +@@ -91,7 +91,7 @@ config ZLIB_INFLATE tristate config ZLIB_DEFLATE |