diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-03-03 16:59:44 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-03-03 16:59:44 -0800 |
commit | ef402c9b319dbff93edfc367746463c251f10c96 (patch) | |
tree | 88b838d424082c6cf5c52e16c5fa2a9fb69af10c | |
parent | 197307d3e6604efaf6f6a15561e29cc1a7f20c4c (diff) | |
download | longterm-queue-2.6.33-ef402c9b319dbff93edfc367746463c251f10c96.tar.gz |
.33
-rw-r--r-- | queue-2.6.33/dccp-fix-oops-on-reset-after-close.patch | 73 | ||||
-rw-r--r-- | queue-2.6.33/e1000e-disable-broken-phy-wakeup-for-ich10-loms-use-mac-wakeup-instead.patch | 38 | ||||
-rw-r--r-- | queue-2.6.33/p54usb-add-senao-nub-350-usbid.patch | 28 | ||||
-rw-r--r-- | queue-2.6.33/r8169-disable-aspm.patch | 50 | ||||
-rw-r--r-- | queue-2.6.33/series | 4 |
5 files changed, 193 insertions, 0 deletions
diff --git a/queue-2.6.33/dccp-fix-oops-on-reset-after-close.patch b/queue-2.6.33/dccp-fix-oops-on-reset-after-close.patch new file mode 100644 index 0000000..ac2c2fa --- /dev/null +++ b/queue-2.6.33/dccp-fix-oops-on-reset-after-close.patch @@ -0,0 +1,73 @@ +From 720dc34bbbe9493c7bd48b2243058b4e447a929d Mon Sep 17 00:00:00 2001 +From: Gerrit Renker <gerrit@erg.abdn.ac.uk> +Date: Tue, 1 Mar 2011 23:02:07 -0800 +Subject: dccp: fix oops on Reset after close + +From: Gerrit Renker <gerrit@erg.abdn.ac.uk> + +commit 720dc34bbbe9493c7bd48b2243058b4e447a929d upstream. + +This fixes a bug in the order of dccp_rcv_state_process() that still permitted +reception even after closing the socket. A Reset after close thus causes a NULL +pointer dereference by not preventing operations on an already torn-down socket. + + dccp_v4_do_rcv() + | + | state other than OPEN + v + dccp_rcv_state_process() + | + | DCCP_PKT_RESET + v + dccp_rcv_reset() + | + v + dccp_time_wait() + + WARNING: at net/ipv4/inet_timewait_sock.c:141 __inet_twsk_hashdance+0x48/0x128() + Modules linked in: arc4 ecb carl9170 rt2870sta(C) mac80211 r8712u(C) crc_ccitt ah + [<c0038850>] (unwind_backtrace+0x0/0xec) from [<c0055364>] (warn_slowpath_common) + [<c0055364>] (warn_slowpath_common+0x4c/0x64) from [<c0055398>] (warn_slowpath_n) + [<c0055398>] (warn_slowpath_null+0x1c/0x24) from [<c02b72d0>] (__inet_twsk_hashd) + [<c02b72d0>] (__inet_twsk_hashdance+0x48/0x128) from [<c031caa0>] (dccp_time_wai) + [<c031caa0>] (dccp_time_wait+0x40/0xc8) from [<c031c15c>] (dccp_rcv_state_proces) + [<c031c15c>] (dccp_rcv_state_process+0x120/0x538) from [<c032609c>] (dccp_v4_do_) + [<c032609c>] (dccp_v4_do_rcv+0x11c/0x14c) from [<c0286594>] (release_sock+0xac/0) + [<c0286594>] (release_sock+0xac/0x110) from [<c031fd34>] (dccp_close+0x28c/0x380) + [<c031fd34>] (dccp_close+0x28c/0x380) from [<c02d9a78>] (inet_release+0x64/0x70) + +The fix is by testing the socket state first. Receiving a packet in Closed state +now also produces the required "No connection" Reset reply of RFC 4340, 8.3.1. + +Reported-and-tested-by: Johan Hovold <jhovold@gmail.com> +Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> +Signed-off-by: David S. Miller <davem@davemloft.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + net/dccp/input.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/net/dccp/input.c ++++ b/net/dccp/input.c +@@ -616,6 +616,9 @@ int dccp_rcv_state_process(struct sock * + /* Caller (dccp_v4_do_rcv) will send Reset */ + dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION; + return 1; ++ } else if (sk->sk_state == DCCP_CLOSED) { ++ dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION; ++ return 1; + } + + if (sk->sk_state != DCCP_REQUESTING && sk->sk_state != DCCP_RESPOND) { +@@ -678,10 +681,6 @@ int dccp_rcv_state_process(struct sock * + } + + switch (sk->sk_state) { +- case DCCP_CLOSED: +- dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION; +- return 1; +- + case DCCP_REQUESTING: + queued = dccp_rcv_request_sent_state_process(sk, skb, dh, len); + if (queued >= 0) diff --git a/queue-2.6.33/e1000e-disable-broken-phy-wakeup-for-ich10-loms-use-mac-wakeup-instead.patch b/queue-2.6.33/e1000e-disable-broken-phy-wakeup-for-ich10-loms-use-mac-wakeup-instead.patch new file mode 100644 index 0000000..e997c51 --- /dev/null +++ b/queue-2.6.33/e1000e-disable-broken-phy-wakeup-for-ich10-loms-use-mac-wakeup-instead.patch @@ -0,0 +1,38 @@ +From 4def99bbfd46e05c5e03b5b282cb4ee30e27ff19 Mon Sep 17 00:00:00 2001 +From: Bruce Allan <bruce.w.allan@intel.com> +Date: Wed, 2 Feb 2011 09:30:36 +0000 +Subject: e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead + +From: Bruce Allan <bruce.w.allan@intel.com> + +commit 4def99bbfd46e05c5e03b5b282cb4ee30e27ff19 upstream. + +When support for 82577/82578 was added[1] in 2.6.31, PHY wakeup was in- +advertently enabled (even though it does not function properly) on ICH10 +LOMs. This patch makes it so that the ICH10 LOMs use MAC wakeup instead +as was done with the initial support for those devices (i.e. 82567LM-3, +82567LF-3 and 82567V-4). + +[1] commit a4f58f5455ba0efda36fb33c37074922d1527a10 + +Reported-by: Aurelien Jarno <aurelien@aurel32.net> +Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> +Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/net/e1000e/netdev.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/net/e1000e/netdev.c ++++ b/drivers/net/e1000e/netdev.c +@@ -5182,7 +5182,8 @@ static int __devinit e1000_probe(struct + /* APME bit in EEPROM is mapped to WUC.APME */ + eeprom_data = er32(WUC); + eeprom_apme_mask = E1000_WUC_APME; +- if (eeprom_data & E1000_WUC_PHY_WAKE) ++ if ((hw->mac.type > e1000_ich10lan) && ++ (eeprom_data & E1000_WUC_PHY_WAKE)) + adapter->flags2 |= FLAG2_HAS_PHY_WAKEUP; + } else if (adapter->flags & FLAG_APME_IN_CTRL3) { + if (adapter->flags & FLAG_APME_CHECK_PORT_B && diff --git a/queue-2.6.33/p54usb-add-senao-nub-350-usbid.patch b/queue-2.6.33/p54usb-add-senao-nub-350-usbid.patch new file mode 100644 index 0000000..7be6aa1 --- /dev/null +++ b/queue-2.6.33/p54usb-add-senao-nub-350-usbid.patch @@ -0,0 +1,28 @@ +From 2b799a6b25bb9f9fbc478782cd9503e8066ab618 Mon Sep 17 00:00:00 2001 +From: Christian Lamparter <chunkeey@googlemail.com> +Date: Sat, 26 Feb 2011 12:58:06 +0100 +Subject: p54usb: add Senao NUB-350 usbid + +From: Christian Lamparter <chunkeey@googlemail.com> + +commit 2b799a6b25bb9f9fbc478782cd9503e8066ab618 upstream. + +Reported-by: Mark Davis +Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> +Signed-off-by: John W. Linville <linville@tuxdriver.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/net/wireless/p54/p54usb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wireless/p54/p54usb.c ++++ b/drivers/net/wireless/p54/p54usb.c +@@ -95,6 +95,7 @@ static struct usb_device_id p54u_table[] + {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ + {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ + {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */ ++ {USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */ + {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ + {USB_DEVICE(0x2001, 0x3705)}, /* D-Link DWL-G120 rev C1 */ + {USB_DEVICE(0x413c, 0x5513)}, /* Dell WLA3310 USB Wireless Adapter */ diff --git a/queue-2.6.33/r8169-disable-aspm.patch b/queue-2.6.33/r8169-disable-aspm.patch new file mode 100644 index 0000000..e1f76a2 --- /dev/null +++ b/queue-2.6.33/r8169-disable-aspm.patch @@ -0,0 +1,50 @@ +From ba04c7c93bbcb48ce880cf75b6e9dffcd79d4c7b Mon Sep 17 00:00:00 2001 +From: Stanislaw Gruszka <sgruszka@redhat.com> +Date: Tue, 22 Feb 2011 02:00:11 +0000 +Subject: r8169: disable ASPM + +From: Stanislaw Gruszka <sgruszka@redhat.com> + +commit ba04c7c93bbcb48ce880cf75b6e9dffcd79d4c7b upstream. + +For some time is known that ASPM is causing troubles on r8169, i.e. make +device randomly stop working without any errors in dmesg. + +Currently Tomi Leppikangas reports that system with r8169 device hangs +with MCE errors when ASPM is enabled: +https://bugzilla.redhat.com/show_bug.cgi?id=642861#c4 + +Lets disable ASPM for r8169 devices at all, to avoid problems with +r8169 PCIe devices at least for some users. + +Reported-by: Tomi Leppikangas <tomi.leppikangas@gmail.com> +Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/net/r8169.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -23,6 +23,7 @@ + #include <linux/tcp.h> + #include <linux/init.h> + #include <linux/dma-mapping.h> ++#include <linux/pci-aspm.h> + + #include <asm/system.h> + #include <asm/io.h> +@@ -3030,6 +3031,11 @@ rtl8169_init_one(struct pci_dev *pdev, c + mii->reg_num_mask = 0x1f; + mii->supports_gmii = !!(cfg->features & RTL_FEATURE_GMII); + ++ /* disable ASPM completely as that cause random device stop working ++ * problems as well as full system hangs for some PCIe devices users */ ++ pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | ++ PCIE_LINK_STATE_CLKPM); ++ + /* enable device (incl. PCI PM wakeup and hotplug setup) */ + rc = pci_enable_device(pdev); + if (rc < 0) { diff --git a/queue-2.6.33/series b/queue-2.6.33/series index d3dfc15..4de21cd 100644 --- a/queue-2.6.33/series +++ b/queue-2.6.33/series @@ -401,3 +401,7 @@ ext2-fix-link-count-corruption-under-heavy-link-rename-load.patch virtio-set-pci-bus-master-enable-bit.patch e1000e-82579-phy-incorrectly-identified-during-init.patch x25-do-not-reference-freed-memory.patch +p54usb-add-senao-nub-350-usbid.patch +dccp-fix-oops-on-reset-after-close.patch +e1000e-disable-broken-phy-wakeup-for-ich10-loms-use-mac-wakeup-instead.patch +r8169-disable-aspm.patch |