summaryrefslogtreecommitdiffstats
path: root/freed-ora/current/f13
diff options
context:
space:
mode:
Diffstat (limited to 'freed-ora/current/f13')
-rw-r--r--freed-ora/current/f13/dmar-disable-when-ricoh-multifunction.patch35
-rw-r--r--freed-ora/current/f13/kernel.spec66
-rw-r--r--freed-ora/current/f13/linux-2.6-bonding-sysfs-warning.patch71
-rw-r--r--freed-ora/current/f13/linux-2.6-twsock-rcu-lockdep-warn.patch36
-rw-r--r--freed-ora/current/f13/mmc-SDHCI_INT_DATA_MASK-typo-error.patch39
-rw-r--r--freed-ora/current/f13/mmc-add-ricoh-e822-pci-id.patch46
-rw-r--r--freed-ora/current/f13/mmc-make-sdhci-work-with-ricoh-mmc-controller.patch151
-rw-r--r--freed-ora/current/f13/r8169-fix-dma-allocations.patch120
-rw-r--r--freed-ora/current/f13/sctp-do-not-reset-the-packet-during-sctp_packet_config.patch34
-rw-r--r--freed-ora/current/f13/sdhci-8-bit-data-transfer-width-support.patch57
-rw-r--r--freed-ora/current/f13/skge-quirk-to-4gb-dma.patch98
11 files changed, 751 insertions, 2 deletions
diff --git a/freed-ora/current/f13/dmar-disable-when-ricoh-multifunction.patch b/freed-ora/current/f13/dmar-disable-when-ricoh-multifunction.patch
new file mode 100644
index 000000000..e0bbf3020
--- /dev/null
+++ b/freed-ora/current/f13/dmar-disable-when-ricoh-multifunction.patch
@@ -0,0 +1,35 @@
+From 8d2f6746f7f82e1aee2dc40a937b5954cfc73414 Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle@mcmartin.ca>
+Date: Sun, 17 Oct 2010 15:55:32 -0400
+Subject: [PATCH] dmar: disable if ricoh multifunction detected
+
+---
+ drivers/pci/intel-iommu.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
+index 8e499e8..076c5de 100644
+--- a/drivers/pci/intel-iommu.c
++++ b/drivers/pci/intel-iommu.c
+@@ -3755,6 +3755,18 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
+
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf);
+
++/* https://bugzilla.redhat.com/show_bug.cgi?id=605888 */
++static void __devinit quirk_ricoh_multifunction(struct pci_dev *dev)
++{
++ printk(KERN_INFO "intel_iommu: broken Ricoh device %04X detected, disabling...\n",
++ dev->device);
++ dmar_disabled = 1;
++}
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe822, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe230, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe832, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe476, quirk_ricoh_multifunction);
++
+ /* On Tylersburg chipsets, some BIOSes have been known to enable the
+ ISOCH DMAR unit for the Azalia sound device, but not give it any
+ TLB entries, which causes it to deadlock. Check for that. We do
+--
+1.7.3.1
+
diff --git a/freed-ora/current/f13/kernel.spec b/freed-ora/current/f13/kernel.spec
index 56df89726..a070cb9e6 100644
--- a/freed-ora/current/f13/kernel.spec
+++ b/freed-ora/current/f13/kernel.spec
@@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
-%global baserelease 59
+%global baserelease 61
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -635,9 +635,11 @@ Patch23: linux-2.6-utrace-ptrace.patch
Patch50: linux-2.6-x86-cfi_sections.patch
+# CVE-2010-3301, CVE-2010-3081
Patch100: 01-compat-make-compat_alloc_user_space-incorporate-the-access_ok-check.patch
Patch101: 02-compat-test-rax-for-the-system-call-number-not-eax.patch
Patch102: 03-compat-retruncate-rax-after-ia32-syscall-entry-tracing.patch
+# CVE-2010-3067
Patch103: aio-check-for-multiplication-overflow-in-do_io_submit.patch
Patch144: linux-2.6-vio-modalias.patch
@@ -841,6 +843,25 @@ Patch12570: sched-00-fix-user-time-incorrectly-accounted-as-system-time-on-32-bi
Patch12580: xen-handle-events-as-edge-triggered.patch
Patch12581: xen-use-percpu-interrupts-for-ipis-and-virqs.patch
+# CVE-2010-3432
+Patch12590: sctp-do-not-reset-the-packet-during-sctp_packet_config.patch
+
+#Bonding sysfs WARN_ON (bz 604630)
+Patch12591: linux-2.6-bonding-sysfs-warning.patch
+
+#twsock rcu warning fix (bz 642905)
+Patch12592: linux-2.6-twsock-rcu-lockdep-warn.patch
+
+Patch13635: r8169-fix-dma-allocations.patch
+Patch13636: skge-quirk-to-4gb-dma.patch
+
+Patch13637: dmar-disable-when-ricoh-multifunction.patch
+
+Patch13640: mmc-SDHCI_INT_DATA_MASK-typo-error.patch
+Patch13641: mmc-add-ricoh-e822-pci-id.patch
+Patch13642: mmc-make-sdhci-work-with-ricoh-mmc-controller.patch
+Patch13643: sdhci-8-bit-data-transfer-width-support.patch
+
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1296,11 +1317,11 @@ ApplyPatch linux-2.6-utrace-ptrace.patch
# x86(-64)
ApplyPatch linux-2.6-x86-cfi_sections.patch
+# CVE-2010-3301, CVE-2010-3081
ApplyPatch 01-compat-make-compat_alloc_user_space-incorporate-the-access_ok-check.patch
ApplyPatch 02-compat-test-rax-for-the-system-call-number-not-eax.patch
ApplyPatch 03-compat-retruncate-rax-after-ia32-syscall-entry-tracing.patch
-
#
# Intel IOMMU
#
@@ -1595,6 +1616,28 @@ ApplyPatch sched-00-fix-user-time-incorrectly-accounted-as-system-time-on-32-bit
ApplyPatch xen-handle-events-as-edge-triggered.patch
ApplyPatch xen-use-percpu-interrupts-for-ipis-and-virqs.patch
+# CVE-2010-3432
+ApplyPatch sctp-do-not-reset-the-packet-during-sctp_packet_config.patch
+
+# BZ 604630
+ApplyPatch linux-2.6-bonding-sysfs-warning.patch
+
+# BZ 642905
+ApplyPatch linux-2.6-twsock-rcu-lockdep-warn.patch
+
+# rhbz#629158
+ApplyPatch r8169-fix-dma-allocations.patch
+# rhbz#447489
+ApplyPatch skge-quirk-to-4gb-dma.patch
+
+# rhbz#605888
+ApplyPatch dmar-disable-when-ricoh-multifunction.patch
+
+ApplyPatch mmc-SDHCI_INT_DATA_MASK-typo-error.patch
+ApplyPatch sdhci-8-bit-data-transfer-width-support.patch
+ApplyPatch mmc-make-sdhci-work-with-ricoh-mmc-controller.patch
+ApplyPatch mmc-add-ricoh-e822-pci-id.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2216,6 +2259,25 @@ fi
%changelog
+* Mon Oct 18 2010 Kyle McMartin <kyle@redhat.com> 2.6.34.7-61
+- Add Ricoh e822 support. (rhbz#596475) Thanks to sgruszka@ for
+ sending the patches in.
+
+* Mon Oct 18 2010 Kyle McMartin <kyle@redhat.com> 2.6.34.7-60
+- Quirk to disable DMAR with Ricoh card reader/firewire. (rhbz#605888)
+
+* Mon Oct 18 2010 Kyle McMartin <kyle@redhat.com>
+- Two networking fixes (skge, r8169) from sgruska. (rhbz#447489,629158)
+
+* Thu Oct 14 2010 Neil Horman <nhorman@redhat.com>
+- Fix rcu warning in twsock_net (bz 642905)
+
+* Wed Oct 06 2010 Neil Horman <nhorman@redhat.com>
+- Fix WARN_ON when you try to create an exiting bond in bond_masters
+
+* Thu Sep 30 2010 Chuck Ebbert <cebbert@redhat.com>
+- CVE-2010-3432: sctp-do-not-reset-the-packet-during-sctp_packet_config.patch
+
* Thu Sep 30 2010 Ben Skeggs <bskeggs@redhat.com> 2.6.34.7-59
- nouveau: fix theoretical race condition that could be responsible for
certain random hangs that have been reported.
diff --git a/freed-ora/current/f13/linux-2.6-bonding-sysfs-warning.patch b/freed-ora/current/f13/linux-2.6-bonding-sysfs-warning.patch
new file mode 100644
index 000000000..42fc297a7
--- /dev/null
+++ b/freed-ora/current/f13/linux-2.6-bonding-sysfs-warning.patch
@@ -0,0 +1,71 @@
+From: Neil Horman <nhorman@tuxdriver.com>
+Date: Tue, 5 Oct 2010 03:39:21 +0000 (+0000)
+Subject: bonding: fix WARN_ON when writing to bond_master sysfs file
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=27e6f065df132b5270014d3285889b15185e9da9
+
+bonding: fix WARN_ON when writing to bond_master sysfs file
+
+Fix a WARN_ON failure in bond_masters sysfs file
+
+Got a report of this warning recently
+
+bonding: bond0 is being created...
+------------[ cut here ]------------
+WARNING: at fs/proc/generic.c:590 proc_register+0x14d/0x185()
+Hardware name: ProLiant BL465c G1
+proc_dir_entry 'bonding/bond0' already registered
+Modules linked in: bonding ipv6 tg3 bnx2 shpchp amd64_edac_mod edac_core
+ipmi_si
+ipmi_msghandler serio_raw i2c_piix4 k8temp edac_mce_amd hpwdt microcode hpsa
+cc
+iss radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
+scsi_wai
+t_scan]
+Pid: 935, comm: ifup-eth Not tainted 2.6.33.5-124.fc13.x86_64 #1
+Call Trace:
+[<ffffffff8104b54c>] warn_slowpath_common+0x77/0x8f
+[<ffffffff8104b5b1>] warn_slowpath_fmt+0x3c/0x3e
+[<ffffffff8114bf0b>] proc_register+0x14d/0x185
+[<ffffffff8114c20c>] proc_create_data+0x87/0xa1
+[<ffffffffa0211e9b>] bond_create_proc_entry+0x55/0x95 [bonding]
+[<ffffffffa0215e5d>] bond_init+0x95/0xd0 [bonding]
+[<ffffffff8138cd97>] register_netdevice+0xdd/0x29e
+[<ffffffffa021240b>] bond_create+0x8e/0xb8 [bonding]
+[<ffffffffa021c4be>] bonding_store_bonds+0xb3/0x1c1 [bonding]
+[<ffffffff812aec85>] class_attr_store+0x27/0x29
+[<ffffffff8115423d>] sysfs_write_file+0x10f/0x14b
+[<ffffffff81101acf>] vfs_write+0xa9/0x106
+[<ffffffff81101be2>] sys_write+0x45/0x69
+[<ffffffff81009b02>] system_call_fastpath+0x16/0x1b
+---[ end trace a677c3f7f8b16b1e ]---
+bonding: Bond creation failed.
+
+It happens because a user space writer to bond_master can try to
+register an already existing bond interface name. Fix it by teaching
+bond_create to check for the existance of devices with that name first
+in cases where a non-NULL name parameter has been passed in
+
+Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
+index 3b16f62..e953c6a 100644
+--- a/drivers/net/bonding/bond_main.c
++++ b/drivers/net/bonding/bond_main.c
+@@ -5164,6 +5164,15 @@ int bond_create(struct net *net, const char *name)
+ res = dev_alloc_name(bond_dev, "bond%d");
+ if (res < 0)
+ goto out;
++ } else {
++ /*
++ * If we're given a name to register
++ * we need to ensure that its not already
++ * registered
++ */
++ res = -EEXIST;
++ if (__dev_get_by_name(net, name) != NULL)
++ goto out;
+ }
+
+ res = register_netdevice(bond_dev);
diff --git a/freed-ora/current/f13/linux-2.6-twsock-rcu-lockdep-warn.patch b/freed-ora/current/f13/linux-2.6-twsock-rcu-lockdep-warn.patch
new file mode 100644
index 000000000..5c105b92f
--- /dev/null
+++ b/freed-ora/current/f13/linux-2.6-twsock-rcu-lockdep-warn.patch
@@ -0,0 +1,36 @@
+commit 7ec75c582e639d956ce3afd499f67febe6f902a4
+Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
+Date: Tue Apr 27 06:22:01 2010 +0000
+
+ net: suppress RCU lockdep false positive in twsk_net()
+
+ Calls to twsk_net() are in some cases protected by reference counting
+ as an alternative to RCU protection. Cases covered by reference counts
+ include __inet_twsk_kill(), inet_twsk_free(), inet_twdr_do_twkill_work(),
+ inet_twdr_twcal_tick(), and tcp_timewait_state_process(). RCU is used
+ by inet_twsk_purge(). Locking is used by established_get_first()
+ and established_get_next(). Finally, __inet_twsk_hashdance() is an
+ initialization case.
+
+ It appears to be non-trivial to locate the appropriate locks and
+ reference counts from within twsk_net(), so used rcu_dereference_raw().
+
+ Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
+ Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h
+index 79f67ea..a066fdd 100644
+--- a/include/net/inet_timewait_sock.h
++++ b/include/net/inet_timewait_sock.h
+@@ -224,7 +224,9 @@ static inline
+ struct net *twsk_net(const struct inet_timewait_sock *twsk)
+ {
+ #ifdef CONFIG_NET_NS
+- return rcu_dereference(twsk->tw_net);
++ return rcu_dereference_raw(twsk->tw_net); /* protected by locking, */
++ /* reference counting, */
++ /* initialization, or RCU. */
+ #else
+ return &init_net;
+ #endif
diff --git a/freed-ora/current/f13/mmc-SDHCI_INT_DATA_MASK-typo-error.patch b/freed-ora/current/f13/mmc-SDHCI_INT_DATA_MASK-typo-error.patch
new file mode 100644
index 000000000..fcc442b91
--- /dev/null
+++ b/freed-ora/current/f13/mmc-SDHCI_INT_DATA_MASK-typo-error.patch
@@ -0,0 +1,39 @@
+From kernel-bounces@lists.fedoraproject.org Thu Sep 9 09:22:50 2010
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Subject: [PATCH 1/4] mmc: SDHCI_INT_DATA_MASK typo error
+Date: Thu, 9 Sep 2010 15:22:16 +0200
+
+From: Zhangfei Gao <zgao6@marvell.com>
+
+Upstream a751a7d69fe91e4640884ae02fe44ddceb7f4cd8 commit.
+
+Signed-off-by: Zhangfei Gao <zgao6@marvell.com>
+Reviewed-by: Matt Fleming <matt@console-pimps.org>
+Cc: <linux-mmc@vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ drivers/mmc/host/sdhci.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
+index 842f46f..9ba4268 100644
+--- a/drivers/mmc/host/sdhci.h
++++ b/drivers/mmc/host/sdhci.h
+@@ -127,7 +127,7 @@
+ #define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \
+ SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \
+ SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \
+- SDHCI_INT_DATA_END_BIT | SDHCI_ADMA_ERROR)
++ SDHCI_INT_DATA_END_BIT | SDHCI_INT_ADMA_ERROR)
+ #define SDHCI_INT_ALL_MASK ((unsigned int)-1)
+
+ #define SDHCI_ACMD12_ERR 0x3C
+--
+1.7.1
+
+_______________________________________________
+kernel mailing list
+kernel@lists.fedoraproject.org
+https://admin.fedoraproject.org/mailman/listinfo/kernel
+
diff --git a/freed-ora/current/f13/mmc-add-ricoh-e822-pci-id.patch b/freed-ora/current/f13/mmc-add-ricoh-e822-pci-id.patch
new file mode 100644
index 000000000..8293123b9
--- /dev/null
+++ b/freed-ora/current/f13/mmc-add-ricoh-e822-pci-id.patch
@@ -0,0 +1,46 @@
+From kernel-bounces@lists.fedoraproject.org Thu Sep 9 09:22:43 2010
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Subject: [PATCH 4/4] mmc: add ricoh e822 pci id
+Date: Thu, 9 Sep 2010 15:22:19 +0200
+
+From: Pablo Castillo <CyberCastle@gmail.com>
+
+Upstream 568133ebda39f7507759a744fa9cf4d5097bad2f commit.
+
+Signed-off-by: Pablo Castillo <CyberCastle@gmail.com>
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Tested-by: Gregg Lebovitz <gregg@lebovitz.net>
+Cc: Maxim Levitsky <maximlevitsky@gmail.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ drivers/mmc/host/sdhci-pci.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
+index 3f2fdde..c4c759d 100644
+--- a/drivers/mmc/host/sdhci-pci.c
++++ b/drivers/mmc/host/sdhci-pci.c
+@@ -415,6 +415,14 @@ static const struct pci_device_id pci_ids[] __devinitdata = {
+ },
+
+ {
++ .vendor = PCI_VENDOR_ID_RICOH,
++ .device = 0xe822,
++ .subvendor = PCI_ANY_ID,
++ .subdevice = PCI_ANY_ID,
++ .driver_data = (kernel_ulong_t)&sdhci_ricoh_mmc,
++ },
++
++ {
+ .vendor = PCI_VENDOR_ID_ENE,
+ .device = PCI_DEVICE_ID_ENE_CB712_SD,
+ .subvendor = PCI_ANY_ID,
+--
+1.7.1
+
+_______________________________________________
+kernel mailing list
+kernel@lists.fedoraproject.org
+https://admin.fedoraproject.org/mailman/listinfo/kernel
+
diff --git a/freed-ora/current/f13/mmc-make-sdhci-work-with-ricoh-mmc-controller.patch b/freed-ora/current/f13/mmc-make-sdhci-work-with-ricoh-mmc-controller.patch
new file mode 100644
index 000000000..9f4de3288
--- /dev/null
+++ b/freed-ora/current/f13/mmc-make-sdhci-work-with-ricoh-mmc-controller.patch
@@ -0,0 +1,151 @@
+From kernel-bounces@lists.fedoraproject.org Thu Sep 9 09:22:35 2010
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Subject: [PATCH 3/4] mmc: make sdhci work with ricoh mmc controller
+Date: Thu, 9 Sep 2010 15:22:18 +0200
+
+From: Maxim Levitsky <maximlevitsky@gmail.com>
+
+Upstream ccc92c23240cdf952ef7cc39ba563910dcbc9cbe commit.
+
+The current way of disabling it is not well tested by vendor and has all
+kinds of bugs that show up on resume from ram/disk. A very good example
+is a dead SDHCI controller.
+
+Old way of disabling is still supported by continuing to use
+CONFIG_MMC_RICOH_MMC.
+
+Based on 'http://list.drzeus.cx/pipermail/sdhci-devel/2007-December/002085.html'
+Therefore most of the credit for this goes to Andrew de Quincey
+
+Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
+Cc: Andrew de Quincey <adq_dvb@lidskialf.net>
+Acked-by: Philip Langdale <philipl@overt.org>
+Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
+Cc: <linux-mmc@vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ drivers/mmc/host/sdhci-pci.c | 41 +++++++++++++++++++++++++++++++++++++++++
+ drivers/mmc/host/sdhci.c | 3 ++-
+ drivers/mmc/host/sdhci.h | 5 +++++
+ 3 files changed, 48 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
+index 6701af6..3f2fdde 100644
+--- a/drivers/mmc/host/sdhci-pci.c
++++ b/drivers/mmc/host/sdhci-pci.c
+@@ -17,6 +17,7 @@
+ #include <linux/pci.h>
+ #include <linux/dma-mapping.h>
+ #include <linux/slab.h>
++#include <linux/device.h>
+
+ #include <linux/mmc/host.h>
+
+@@ -84,7 +85,30 @@ static int ricoh_probe(struct sdhci_pci_chip *chip)
+ if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG ||
+ chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SONY)
+ chip->quirks |= SDHCI_QUIRK_NO_CARD_NO_RESET;
++ return 0;
++}
++
++static int ricoh_mmc_probe_slot(struct sdhci_pci_slot *slot)
++{
++ slot->host->caps =
++ ((0x21 << SDHCI_TIMEOUT_CLK_SHIFT)
++ & SDHCI_TIMEOUT_CLK_MASK) |
++
++ ((0x21 << SDHCI_CLOCK_BASE_SHIFT)
++ & SDHCI_CLOCK_BASE_MASK) |
+
++ SDHCI_TIMEOUT_CLK_UNIT |
++ SDHCI_CAN_VDD_330 |
++ SDHCI_CAN_DO_SDMA;
++ return 0;
++}
++
++static int ricoh_mmc_resume(struct sdhci_pci_chip *chip)
++{
++ /* Apply a delay to allow controller to settle */
++ /* Otherwise it becomes confused if card state changed
++ during suspend */
++ msleep(500);
+ return 0;
+ }
+
+@@ -95,6 +119,15 @@ static const struct sdhci_pci_fixes sdhci_ricoh = {
+ SDHCI_QUIRK_CLOCK_BEFORE_RESET,
+ };
+
++static const struct sdhci_pci_fixes sdhci_ricoh_mmc = {
++ .probe_slot = ricoh_mmc_probe_slot,
++ .resume = ricoh_mmc_resume,
++ .quirks = SDHCI_QUIRK_32BIT_DMA_ADDR |
++ SDHCI_QUIRK_CLOCK_BEFORE_RESET |
++ SDHCI_QUIRK_NO_CARD_NO_RESET |
++ SDHCI_QUIRK_MISSING_CAPS
++};
++
+ static const struct sdhci_pci_fixes sdhci_ene_712 = {
+ .quirks = SDHCI_QUIRK_SINGLE_POWER_WRITE |
+ SDHCI_QUIRK_BROKEN_DMA,
+@@ -374,6 +407,14 @@ static const struct pci_device_id pci_ids[] __devinitdata = {
+ },
+
+ {
++ .vendor = PCI_VENDOR_ID_RICOH,
++ .device = 0x843,
++ .subvendor = PCI_ANY_ID,
++ .subdevice = PCI_ANY_ID,
++ .driver_data = (kernel_ulong_t)&sdhci_ricoh_mmc,
++ },
++
++ {
+ .vendor = PCI_VENDOR_ID_ENE,
+ .device = PCI_DEVICE_ID_ENE_CB712_SD,
+ .subvendor = PCI_ANY_ID,
+diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
+index dae42aa..f44f8ca 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -1682,7 +1682,8 @@ int sdhci_add_host(struct sdhci_host *host)
+ host->version);
+ }
+
+- caps = sdhci_readl(host, SDHCI_CAPABILITIES);
++ caps = (host->quirks & SDHCI_QUIRK_MISSING_CAPS) ? host->caps :
++ sdhci_readl(host, SDHCI_CAPABILITIES);
+
+ if (host->quirks & SDHCI_QUIRK_FORCE_DMA)
+ host->flags |= SDHCI_USE_SDMA;
+diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
+index 6bd46e5..e830c60 100644
+--- a/drivers/mmc/host/sdhci.h
++++ b/drivers/mmc/host/sdhci.h
+@@ -238,6 +238,9 @@ struct sdhci_host {
+ /* Controller uses SDCLK instead of TMCLK for data timeouts */
+ #define SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK (1<<24)
+
++/* Controller is missing device caps. Use caps provided by host */
++#define SDHCI_QUIRK_MISSING_CAPS (1<<27)
++
+ int irq; /* Device IRQ */
+ void __iomem * ioaddr; /* Mapped address */
+
+@@ -289,6 +292,8 @@ struct sdhci_host {
+
+ struct timer_list timer; /* Timer for timeouts */
+
++ unsigned int caps; /* Alternative capabilities */
++
+ unsigned long private[0] ____cacheline_aligned;
+ };
+
+--
+1.7.1
+
+_______________________________________________
+kernel mailing list
+kernel@lists.fedoraproject.org
+https://admin.fedoraproject.org/mailman/listinfo/kernel
+
diff --git a/freed-ora/current/f13/r8169-fix-dma-allocations.patch b/freed-ora/current/f13/r8169-fix-dma-allocations.patch
new file mode 100644
index 000000000..e4aa160d1
--- /dev/null
+++ b/freed-ora/current/f13/r8169-fix-dma-allocations.patch
@@ -0,0 +1,120 @@
+From sgruszka@redhat.com Mon Oct 18 05:10:00 2010
+Return-Path: sgruszka@redhat.com
+Received: from zmta01.collab.prod.int.phx2.redhat.com (LHLO
+ zmta01.collab.prod.int.phx2.redhat.com) (10.5.5.31) by
+ mail03.corp.redhat.com with LMTP; Mon, 18 Oct 2010 05:10:00 -0400 (EDT)
+Received: from localhost (localhost.localdomain [127.0.0.1])
+ by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 5E48E928A4;
+ Mon, 18 Oct 2010 05:10:00 -0400 (EDT)
+Received: from zmta01.collab.prod.int.phx2.redhat.com ([127.0.0.1])
+ by localhost (zmta01.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id q3QJQ+TOP+bt; Mon, 18 Oct 2010 05:10:00 -0400 (EDT)
+Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
+ by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 423CC91A7C;
+ Mon, 18 Oct 2010 05:10:00 -0400 (EDT)
+Received: from localhost (dhcp-1-246.brq.redhat.com [10.34.1.246])
+ by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id o9I99x6b006228;
+ Mon, 18 Oct 2010 05:09:59 -0400
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+To: stable@kernel.org
+Cc: Kyle McMartin <kmcmartin@redhat.com>,
+ Stanislaw Gruszka <sgruszka@redhat.com>,
+ "David S. Miller" <davem@davemloft.net>
+Subject: [PATCH -stable 2.6.34+] r8169: allocate with GFP_KERNEL flag when able to sleep
+Date: Mon, 18 Oct 2010 11:12:22 +0200
+Message-Id: <1287393142-2566-1-git-send-email-sgruszka@redhat.com>
+X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
+
+Upstream aeb19f6052b5e5c8a24aa444fbff73b84341beac commit.
+
+We have fedora bug report where driver fail to initialize after
+suspend/resume because of memory allocation errors:
+https://bugzilla.redhat.com/show_bug.cgi?id=629158
+
+To fix use GFP_KERNEL allocation where possible.
+
+Patch should fix any allocation errors with calltrace like that:
+
+NetworkManager: page allocation failure. order:3, mode:0x4020
+Pid: 1427, comm: NetworkManager Not tainted 2.6.31.12-rhapsody.fc12-121 #1
+Call Trace:
+ [<ffffffff810c876f>] __alloc_pages_nodemask+0x57a/0x5bb
+ [<ffffffff810f415d>] alloc_pages_node+0x48/0x4a
+ [<ffffffff810f4189>] kmalloc_large_node+0x2a/0x67
+ [<ffffffff810f5f1c>] __kmalloc_node_track_caller+0x31/0x11b
+ [<ffffffff8136f4fe>] ? __netdev_alloc_skb+0x34/0x50
+ [<ffffffff8136e8b8>] __alloc_skb+0x80/0x170
+ [<ffffffff8136f4fe>] __netdev_alloc_skb+0x34/0x50
+ [<ffffffffa011c5e0>] rtl8169_rx_fill+0xa8/0x154 [r8169]
+ [<ffffffffa011e5c5>] rtl8169_init_ring+0x71/0x9f [r8169]
+ [<ffffffffa011edbe>] rtl8169_open+0x7f/0x199 [r8169]
+
+Tested-by: Neal Becker <ndbecker2@gmail.com>
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/r8169.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index a0da4a1..a68ec8f 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -4000,7 +4000,7 @@ static inline void rtl8169_map_to_asic(struct RxDesc *desc, dma_addr_t mapping,
+ static struct sk_buff *rtl8169_alloc_rx_skb(struct pci_dev *pdev,
+ struct net_device *dev,
+ struct RxDesc *desc, int rx_buf_sz,
+- unsigned int align)
++ unsigned int align, gfp_t gfp)
+ {
+ struct sk_buff *skb;
+ dma_addr_t mapping;
+@@ -4008,7 +4008,7 @@ static struct sk_buff *rtl8169_alloc_rx_skb(struct pci_dev *pdev,
+
+ pad = align ? align : NET_IP_ALIGN;
+
+- skb = netdev_alloc_skb(dev, rx_buf_sz + pad);
++ skb = __netdev_alloc_skb(dev, rx_buf_sz + pad, gfp);
+ if (!skb)
+ goto err_out;
+
+@@ -4039,7 +4039,7 @@ static void rtl8169_rx_clear(struct rtl8169_private *tp)
+ }
+
+ static u32 rtl8169_rx_fill(struct rtl8169_private *tp, struct net_device *dev,
+- u32 start, u32 end)
++ u32 start, u32 end, gfp_t gfp)
+ {
+ u32 cur;
+
+@@ -4054,7 +4054,7 @@ static u32 rtl8169_rx_fill(struct rtl8169_private *tp, struct net_device *dev,
+
+ skb = rtl8169_alloc_rx_skb(tp->pci_dev, dev,
+ tp->RxDescArray + i,
+- tp->rx_buf_sz, tp->align);
++ tp->rx_buf_sz, tp->align, gfp);
+ if (!skb)
+ break;
+
+@@ -4082,7 +4082,7 @@ static int rtl8169_init_ring(struct net_device *dev)
+ memset(tp->tx_skb, 0x0, NUM_TX_DESC * sizeof(struct ring_info));
+ memset(tp->Rx_skbuff, 0x0, NUM_RX_DESC * sizeof(struct sk_buff *));
+
+- if (rtl8169_rx_fill(tp, dev, 0, NUM_RX_DESC) != NUM_RX_DESC)
++ if (rtl8169_rx_fill(tp, dev, 0, NUM_RX_DESC, GFP_KERNEL) != NUM_RX_DESC)
+ goto err_out;
+
+ rtl8169_mark_as_last_descriptor(tp->RxDescArray + NUM_RX_DESC - 1);
+@@ -4583,7 +4583,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
+ count = cur_rx - tp->cur_rx;
+ tp->cur_rx = cur_rx;
+
+- delta = rtl8169_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx);
++ delta = rtl8169_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx, GFP_ATOMIC);
+ if (!delta && count)
+ netif_info(tp, intr, dev, "no Rx buffer allocated\n");
+ tp->dirty_rx += delta;
+--
+1.7.1
+
diff --git a/freed-ora/current/f13/sctp-do-not-reset-the-packet-during-sctp_packet_config.patch b/freed-ora/current/f13/sctp-do-not-reset-the-packet-during-sctp_packet_config.patch
new file mode 100644
index 000000000..c88c12aad
--- /dev/null
+++ b/freed-ora/current/f13/sctp-do-not-reset-the-packet-during-sctp_packet_config.patch
@@ -0,0 +1,34 @@
+From 4bdab43323b459900578b200a4b8cf9713ac8fab Mon Sep 17 00:00:00 2001
+From: Vlad Yasevich <vladislav.yasevich@hp.com>
+Date: Wed, 15 Sep 2010 10:00:26 -0400
+Subject: sctp: Do not reset the packet during sctp_packet_config().
+
+From: Vlad Yasevich <vladislav.yasevich@hp.com>
+
+commit 4bdab43323b459900578b200a4b8cf9713ac8fab upstream.
+
+sctp_packet_config() is called when getting the packet ready
+for appending of chunks. The function should not touch the
+current state, since it's possible to ping-pong between two
+transports when sending, and that can result packet corruption
+followed by skb overlfow crash.
+
+Reported-by: Thomas Dreibholz <dreibh@iem.uni-due.de>
+Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/sctp/output.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/net/sctp/output.c
++++ b/net/sctp/output.c
+@@ -92,7 +92,6 @@ struct sctp_packet *sctp_packet_config(s
+ SCTP_DEBUG_PRINTK("%s: packet:%p vtag:0x%x\n", __func__,
+ packet, vtag);
+
+- sctp_packet_reset(packet);
+ packet->vtag = vtag;
+
+ if (ecn_capable && sctp_packet_empty(packet)) {
diff --git a/freed-ora/current/f13/sdhci-8-bit-data-transfer-width-support.patch b/freed-ora/current/f13/sdhci-8-bit-data-transfer-width-support.patch
new file mode 100644
index 000000000..83171cbaf
--- /dev/null
+++ b/freed-ora/current/f13/sdhci-8-bit-data-transfer-width-support.patch
@@ -0,0 +1,57 @@
+From kernel-bounces@lists.fedoraproject.org Thu Sep 9 09:22:34 2010
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Subject: [PATCH 2/4] sdhci: 8-bit data transfer width support
+Date: Thu, 9 Sep 2010 15:22:17 +0200
+
+From: Kyungmin Park <kyungmin.park@samsung.com>
+
+Upstream ae6d6c92212e94b12ab9365c23fb73acc2c3c2e7 commit.
+
+Some host controllers such as s5pc110 support the WIDE8 feature.
+
+Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+Cc: Grant Likely <grant.likely@secretlab.ca>
+Cc: <linux-mmc@vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ drivers/mmc/host/sdhci.c | 5 +++++
+ drivers/mmc/host/sdhci.h | 1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
+index 9d4fdfa..dae42aa 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -1149,6 +1149,11 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
+
+ ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
+
++ if (ios->bus_width == MMC_BUS_WIDTH_8)
++ ctrl |= SDHCI_CTRL_8BITBUS;
++ else
++ ctrl &= ~SDHCI_CTRL_8BITBUS;
++
+ if (ios->bus_width == MMC_BUS_WIDTH_4)
+ ctrl |= SDHCI_CTRL_4BITBUS;
+ else
+diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
+index 9ba4268..6bd46e5 100644
+--- a/drivers/mmc/host/sdhci.h
++++ b/drivers/mmc/host/sdhci.h
+@@ -72,6 +72,7 @@
+ #define SDHCI_CTRL_ADMA1 0x08
+ #define SDHCI_CTRL_ADMA32 0x10
+ #define SDHCI_CTRL_ADMA64 0x18
++#define SDHCI_CTRL_8BITBUS 0x20
+
+ #define SDHCI_POWER_CONTROL 0x29
+ #define SDHCI_POWER_ON 0x01
+--
+1.7.1
+
+_______________________________________________
+kernel mailing list
+kernel@lists.fedoraproject.org
+https://admin.fedoraproject.org/mailman/listinfo/kernel
+
diff --git a/freed-ora/current/f13/skge-quirk-to-4gb-dma.patch b/freed-ora/current/f13/skge-quirk-to-4gb-dma.patch
new file mode 100644
index 000000000..ffa0fff55
--- /dev/null
+++ b/freed-ora/current/f13/skge-quirk-to-4gb-dma.patch
@@ -0,0 +1,98 @@
+From sgruszka@redhat.com Mon Oct 18 05:19:21 2010
+Return-Path: sgruszka@redhat.com
+Received: from zmta02.collab.prod.int.phx2.redhat.com (LHLO
+ zmta02.collab.prod.int.phx2.redhat.com) (10.5.5.32) by
+ mail03.corp.redhat.com with LMTP; Mon, 18 Oct 2010 05:19:21 -0400 (EDT)
+Received: from localhost (localhost.localdomain [127.0.0.1])
+ by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id A11F69E559;
+ Mon, 18 Oct 2010 05:19:21 -0400 (EDT)
+Received: from zmta02.collab.prod.int.phx2.redhat.com ([127.0.0.1])
+ by localhost (zmta02.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id IhyIgD7E4aj3; Mon, 18 Oct 2010 05:19:21 -0400 (EDT)
+Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21])
+ by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 9007B9E55E;
+ Mon, 18 Oct 2010 05:19:21 -0400 (EDT)
+Received: from localhost (dhcp-1-246.brq.redhat.com [10.34.1.246])
+ by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o9I9JKsF025385;
+ Mon, 18 Oct 2010 05:19:21 -0400
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+To: stable@kernel.org
+Cc: Kyle McMartin <kmcmartin@redhat.com>,
+ Stanislaw Gruszka <sgruszka@redhat.com>,
+ "David S. Miller" <davem@davemloft.net>
+Subject: [PATCH -stable 2.6.34+] skge: add quirk to limit DMA
+Date: Mon, 18 Oct 2010 11:21:54 +0200
+Message-Id: <1287393714-3720-1-git-send-email-sgruszka@redhat.com>
+X-Scanned-By: MIMEDefang 2.67 on 10.5.11.21
+
+Upstream 392bd0cb000d4aac9e88e4f50823db85e7220688 commit.
+
+Skge devices installed on some Gigabyte motherboards are not able to
+perform 64 dma correctly due to board PCI implementation, so limit
+DMA to 32bit if such boards are detected.
+
+Bug was reported here:
+https://bugzilla.redhat.com/show_bug.cgi?id=447489
+
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Tested-by: Luya Tshimbalanga <luya@fedoraproject.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/skge.c | 18 +++++++++++++++++-
+ 1 files changed, 17 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/skge.c b/drivers/net/skge.c
+index 40e5c46..465ae7e 100644
+--- a/drivers/net/skge.c
++++ b/drivers/net/skge.c
+@@ -43,6 +43,7 @@
+ #include <linux/seq_file.h>
+ #include <linux/mii.h>
+ #include <linux/slab.h>
++#include <linux/dmi.h>
+ #include <asm/irq.h>
+
+ #include "skge.h"
+@@ -3868,6 +3869,8 @@ static void __devinit skge_show_addr(struct net_device *dev)
+ netif_info(skge, probe, skge->netdev, "addr %pM\n", dev->dev_addr);
+ }
+
++static int only_32bit_dma;
++
+ static int __devinit skge_probe(struct pci_dev *pdev,
+ const struct pci_device_id *ent)
+ {
+@@ -3889,7 +3892,7 @@ static int __devinit skge_probe(struct pci_dev *pdev,
+
+ pci_set_master(pdev);
+
+- if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
++ if (!only_32bit_dma && !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
+ using_dac = 1;
+ err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
+ } else if (!(err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)))) {
+@@ -4147,8 +4150,21 @@ static struct pci_driver skge_driver = {
+ .shutdown = skge_shutdown,
+ };
+
++static struct dmi_system_id skge_32bit_dma_boards[] = {
++ {
++ .ident = "Gigabyte nForce boards",
++ .matches = {
++ DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co"),
++ DMI_MATCH(DMI_BOARD_NAME, "nForce"),
++ },
++ },
++ {}
++};
++
+ static int __init skge_init_module(void)
+ {
++ if (dmi_check_system(skge_32bit_dma_boards))
++ only_32bit_dma = 1;
+ skge_debug_init();
+ return pci_register_driver(&skge_driver);
+ }
+--
+1.7.1
+
OpenPOWER on IntegriCloud