From 4eae13708d3d85606e547112ad9279ea62d05b37 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 6 Sep 2013 08:47:34 -0400 Subject: [PATCH] Linux v3.11-6422-g2e03285 --- config-armv7-generic | 2 + config-generic | 13 +++ ...945-better-skb-management-in-rx-path.patch | 97 ------------------- ...965-better-skb-management-in-rx-path.patch | 65 ------------- kernel.spec | 19 +--- ...ression-since-introduction-of-ts2020.patch | 30 ------ sources | 2 +- 7 files changed, 20 insertions(+), 208 deletions(-) delete mode 100644 iwl3945-better-skb-management-in-rx-path.patch delete mode 100644 iwl4965-better-skb-management-in-rx-path.patch delete mode 100644 media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch diff --git a/config-armv7-generic b/config-armv7-generic index 567a6248b..8502c8185 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -14,6 +14,7 @@ CONFIG_AEABI=y CONFIG_VFP=y CONFIG_VFPv3=y CONFIG_NEON=y +# CONFIG_KERNEL_MODE_NEON is not set CONFIG_ARM_UNWIND=y CONFIG_ARM_THUMB=y @@ -93,6 +94,7 @@ CONFIG_PL310_ERRATA_769419=y CONFIG_PJ4B_ERRATA_4742=y # Cortex-A15 # CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_ERRATA_773022 is not set # generic that deviates from or should be merged into config-generic CONFIG_SMP_ON_UP=y diff --git a/config-generic b/config-generic index 8fa673b15..ef9ee056a 100644 --- a/config-generic +++ b/config-generic @@ -932,6 +932,7 @@ CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_SYNPROXY=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_NF_NAT_IPV4=m CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -965,6 +966,7 @@ CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_NF_NAT_IPV6=m CONFIG_IP6_NF_TARGET_MASQUERADE=m @@ -1094,6 +1096,7 @@ CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_QFQ=m CONFIG_NET_SCH_CODEL=m CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_PLUG=m CONFIG_NET_CLS=y CONFIG_NET_CLS_ACT=y @@ -1140,6 +1143,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=y +CONFIG_OPENVSWITCH_VXLAN=y CONFIG_VSOCKETS=m CONFIG_NETPRIO_CGROUP=m @@ -1372,6 +1376,7 @@ CONFIG_NET_VENDOR_QLOGIC=y CONFIG_QLA3XXX=m CONFIG_QLCNIC=m CONFIG_QLCNIC_SRIOV=y +CONFIG_QLCNIC_DCB=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m @@ -1675,6 +1680,7 @@ CONFIG_RT2500USB=m CONFIG_RT2800USB=m CONFIG_RT2800USB_RT33XX=y CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y CONFIG_RT2800USB_RT53XX=y CONFIG_RT2800USB_RT55XX=y CONFIG_RT2800USB_UNKNOWN=y @@ -2722,6 +2728,7 @@ CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_DVB=m CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_ENABLE_VP3054=y CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_ALSA=m @@ -2746,6 +2753,7 @@ CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m CONFIG_VIDEO_STK1160_AC97=y CONFIG_VIDEO_W9966=m @@ -2926,6 +2934,7 @@ CONFIG_IR_GPIO_CIR=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set # CONFIG_VIDEO_SH_VEU is not set +# CONFIG_VIDEO_RENESAS_VSP1 is not set # CONFIG_V4L_TEST_DRIVERS is not set # CONFIG_VIDEO_MEM2MEM_TESTDEV is not set @@ -3407,6 +3416,7 @@ CONFIG_USB_GSPCA_SPCA506=m CONFIG_USB_GSPCA_SPCA508=m CONFIG_USB_GSPCA_SPCA561=m CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m CONFIG_USB_GSPCA_TOPRO=m @@ -3450,6 +3460,7 @@ CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_AX88179_178A=m CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_SMSC95XX=m CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m @@ -4621,6 +4632,7 @@ CONFIG_STAGING_MEDIA=y # CONFIG_TI_ST is not set # CONFIG_FB_XGI is not set # CONFIG_VIDEO_GO7007 is not set +# CONFIG_USB_MSI3101 is not set # CONFIG_DT3155 is not set # CONFIG_W35UND is not set # CONFIG_PRISM2_USB is not set @@ -4845,6 +4857,7 @@ CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y +# CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA_DRIVER_GMAC_CMN=y CONFIG_BCMA_DRIVER_GPIO=y # CONFIG_BCMA_DEBUG is not set diff --git a/iwl3945-better-skb-management-in-rx-path.patch b/iwl3945-better-skb-management-in-rx-path.patch deleted file mode 100644 index 5d85af7d4..000000000 --- a/iwl3945-better-skb-management-in-rx-path.patch +++ /dev/null @@ -1,97 +0,0 @@ -From: Eric Dumazet - -Steinar reported reallocations of skb->head with IPv6, leading to -a warning in skb_try_coalesce() - -It turns out iwl3945 has several problems : - -1) skb->truesize is underestimated. - We really consume PAGE_SIZE bytes for a fragment, - not the frame length. -2) 128 bytes of initial headroom is a bit low and forces reallocations. -3) We can avoid consuming a full page for small enough frames. - -Reported-by: Steinar H. Gunderson -Signed-off-by: Eric Dumazet -Cc: Paul Stewart ---- -v3: use regular memcpy(skb_put(...),...) -v2: SMALL_PACKET_SIZE define - - drivers/net/wireless/iwlegacy/3945.c | 31 +++++++++++++++---------- - 1 file changed, 19 insertions(+), 12 deletions(-) - -diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c -index c092033..f09e257 100644 ---- a/drivers/net/wireless/iwlegacy/3945.c -+++ b/drivers/net/wireless/iwlegacy/3945.c -@@ -475,6 +475,8 @@ il3945_is_network_packet(struct il_priv *il, struct ieee80211_hdr *header) - } - } - -+#define SMALL_PACKET_SIZE 256 -+ - static void - il3945_pass_packet_to_mac80211(struct il_priv *il, struct il_rx_buf *rxb, - struct ieee80211_rx_status *stats) -@@ -483,14 +485,13 @@ il3945_pass_packet_to_mac80211(struct il_priv *il, struct il_rx_buf *rxb, - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)IL_RX_DATA(pkt); - struct il3945_rx_frame_hdr *rx_hdr = IL_RX_HDR(pkt); - struct il3945_rx_frame_end *rx_end = IL_RX_END(pkt); -- u16 len = le16_to_cpu(rx_hdr->len); -+ u32 len = le16_to_cpu(rx_hdr->len); - struct sk_buff *skb; - __le16 fc = hdr->frame_control; -+ u32 fraglen = PAGE_SIZE << il->hw_params.rx_page_order; - - /* We received data from the HW, so stop the watchdog */ -- if (unlikely -- (len + IL39_RX_FRAME_SIZE > -- PAGE_SIZE << il->hw_params.rx_page_order)) { -+ if (unlikely(len + IL39_RX_FRAME_SIZE > fraglen)) { - D_DROP("Corruption detected!\n"); - return; - } -@@ -506,26 +507,32 @@ il3945_pass_packet_to_mac80211(struct il_priv *il, struct il_rx_buf *rxb, - D_INFO("Woke queues - frame received on passive channel\n"); - } - -- skb = dev_alloc_skb(128); -+ skb = dev_alloc_skb(SMALL_PACKET_SIZE); - if (!skb) { - IL_ERR("dev_alloc_skb failed\n"); - return; - } - - if (!il3945_mod_params.sw_crypto) -- il_set_decrypted_flag(il, (struct ieee80211_hdr *)rxb_addr(rxb), -+ il_set_decrypted_flag(il, (struct ieee80211_hdr *)pkt, - le32_to_cpu(rx_end->status), stats); - -- skb_add_rx_frag(skb, 0, rxb->page, -- (void *)rx_hdr->payload - (void *)pkt, len, -- len); -- -+ /* If frame is small enough to fit into skb->head, copy it -+ * and do not consume a full page -+ */ -+ if (len <= SMALL_PACKET_SIZE) { -+ memcpy(skb_put(skb, len), rx_hdr->payload, len); -+ } else { -+ skb_add_rx_frag(skb, 0, rxb->page, -+ (void *)rx_hdr->payload - (void *)pkt, len, -+ fraglen); -+ il->alloc_rxb_page--; -+ rxb->page = NULL; -+ } - il_update_stats(il, false, fc, len); - memcpy(IEEE80211_SKB_RXCB(skb), stats, sizeof(*stats)); - - ieee80211_rx(il->hw, skb); -- il->alloc_rxb_page--; -- rxb->page = NULL; - } - - #define IL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6) - - diff --git a/iwl4965-better-skb-management-in-rx-path.patch b/iwl4965-better-skb-management-in-rx-path.patch deleted file mode 100644 index 904ff04f6..000000000 --- a/iwl4965-better-skb-management-in-rx-path.patch +++ /dev/null @@ -1,65 +0,0 @@ -4965 version of Eric patch "iwl3945: better skb management in rx path". -It fixes several problems : - -1) skb->truesize is underestimated. - We really consume PAGE_SIZE bytes for a fragment, - not the frame length. -2) 128 bytes of initial headroom is a bit low and forces reallocations. -3) We can avoid consuming a full page for small enough frames. - -Signed-off-by: Stanislaw Gruszka ---- - drivers/net/wireless/iwlegacy/4965-mac.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c -index d287fd2..4e5d408 100644 ---- a/drivers/net/wireless/iwlegacy/4965-mac.c -+++ b/drivers/net/wireless/iwlegacy/4965-mac.c -@@ -574,9 +574,11 @@ il4965_translate_rx_status(struct il_priv *il, u32 decrypt_in) - return decrypt_out; - } - -+#define SMALL_PACKET_SIZE 256 -+ - static void - il4965_pass_packet_to_mac80211(struct il_priv *il, struct ieee80211_hdr *hdr, -- u16 len, u32 ampdu_status, struct il_rx_buf *rxb, -+ u32 len, u32 ampdu_status, struct il_rx_buf *rxb, - struct ieee80211_rx_status *stats) - { - struct sk_buff *skb; -@@ -598,21 +600,25 @@ il4965_pass_packet_to_mac80211(struct il_priv *il, struct ieee80211_hdr *hdr, - il_set_decrypted_flag(il, hdr, ampdu_status, stats)) - return; - -- skb = dev_alloc_skb(128); -+ skb = dev_alloc_skb(SMALL_PACKET_SIZE); - if (!skb) { - IL_ERR("dev_alloc_skb failed\n"); - return; - } - -- skb_add_rx_frag(skb, 0, rxb->page, (void *)hdr - rxb_addr(rxb), len, -- len); -+ if (len <= SMALL_PACKET_SIZE) { -+ memcpy(skb_put(skb, len), hdr, len); -+ } else { -+ skb_add_rx_frag(skb, 0, rxb->page, (void *)hdr - rxb_addr(rxb), -+ len, PAGE_SIZE << il->hw_params.rx_page_order); -+ il->alloc_rxb_page--; -+ rxb->page = NULL; -+ } - - il_update_stats(il, false, fc, len); - memcpy(IEEE80211_SKB_RXCB(skb), stats, sizeof(*stats)); - - ieee80211_rx(il->hw, skb); -- il->alloc_rxb_page--; -- rxb->page = NULL; - } - - /* Called for N_RX (legacy ABG frames), or --- -1.7.11.7 - diff --git a/kernel.spec b/kernel.spec index 1c9a6ad80..f0eb55f54 100644 --- a/kernel.spec +++ b/kernel.spec @@ -95,7 +95,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 12 +%define gitrev 13 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -762,13 +762,6 @@ Patch25032: cve-2013-2147-ciss-info-leak.patch Patch25047: drm-radeon-Disable-writeback-by-default-on-ppc.patch -#rhbz 977040 -Patch25056: iwl3945-better-skb-management-in-rx-path.patch -Patch25057: iwl4965-better-skb-management-in-rx-path.patch - -#rhbz 963715 -Patch25077: media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch - #CVE-2013-2888 rhbz 1000451 1002543 CVE-2013-2889 rhbz 999890 1002548 #CVE-2013-2891 rhbz 999960 1002555 CVE-2013-2892 rhbz 1000429 1002570 #CVE-2013-2893 rhbz 1000414 1002575 CVE-2013-2894 rhbz 1000137 1002579 @@ -1498,13 +1491,6 @@ ApplyPatch cve-2013-2147-ciss-info-leak.patch ApplyPatch drm-radeon-Disable-writeback-by-default-on-ppc.patch -#rhbz 977040 -ApplyPatch iwl3945-better-skb-management-in-rx-path.patch -ApplyPatch iwl4965-better-skb-management-in-rx-path.patch - -#rhbz 963715 -ApplyPatch media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch - #CVE-2013-2888 rhbz 1000451 1002543 CVE-2013-2889 rhbz 999890 1002548 #CVE-2013-2891 rhbz 999960 1002555 CVE-2013-2892 rhbz 1000429 1002570 #CVE-2013-2893 rhbz 1000414 1002575 CVE-2013-2894 rhbz 1000137 1002579 @@ -2315,6 +2301,9 @@ fi # ||----w | # || || %changelog +* Fri Sep 06 2013 Josh Boyer - 3.12.0-0.rc0.git13.1 +- Linux v3.11-6422-g2e03285 + * Thu Sep 05 2013 Josh Boyer - 3.12.0-0.rc0.git12.1 - Linux v3.11-4809-ga09e9a7 diff --git a/media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch b/media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch deleted file mode 100644 index 2a28a2fe1..000000000 --- a/media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b43ea8068d2090cb1e44632c8a938ab40d2c7419 Mon Sep 17 00:00:00 2001 -From: Johannes Koch -Date: Wed, 17 Jul 2013 17:28:16 +0000 -Subject: [media] cx23885: Fix TeVii S471 regression since introduction of ts2020 - -Patch to make TeVii S471 cards use the ts2020 tuner, since ds3000 driver no -longer contains tuning code. - -Signed-off-by: Johannes Koch -Signed-off-by: Mauro Carvalho Chehab ---- -(limited to 'drivers/media/pci/cx23885/cx23885-dvb.c') - -diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c -index 9c5ed10..bb291c6 100644 ---- a/drivers/media/pci/cx23885/cx23885-dvb.c -+++ b/drivers/media/pci/cx23885/cx23885-dvb.c -@@ -1249,6 +1249,10 @@ static int dvb_register(struct cx23885_tsport *port) - fe0->dvb.frontend = dvb_attach(ds3000_attach, - &tevii_ds3000_config, - &i2c_bus->i2c_adap); -+ if (fe0->dvb.frontend != NULL) { -+ dvb_attach(ts2020_attach, fe0->dvb.frontend, -+ &tevii_ts2020_config, &i2c_bus->i2c_adap); -+ } - break; - case CX23885_BOARD_PROF_8000: - i2c_bus = &dev->i2c_bus[0]; --- -cgit v0.9.2 diff --git a/sources b/sources index 59121a16a..8ea8152cd 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ fea363551ff45fbe4cb88497b863b261 linux-3.11.tar.xz -915fe75bceba442369dca05e12614ea0 patch-3.11-git12.xz +a0f29a37d42d8aa73393fb70992ffb11 patch-3.11-git13.xz