--- /dev/null
+From a09bf4cd53b8ab000197ef81f15d50f29ecf973c Mon Sep 17 00:00:00 2001
+From: Jeff Garzik <jeff@garzik.org>
+Date: Thu, 22 Apr 2010 21:59:13 -0400
+Subject: libata: ensure NCQ error result taskfile is fully initialized before returning it via qc->result_tf.
+
+From: Jeff Garzik <jeff@garzik.org>
+
+commit a09bf4cd53b8ab000197ef81f15d50f29ecf973c upstream.
+
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/ata/libata-eh.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/ata/libata-eh.c
++++ b/drivers/ata/libata-eh.c
+@@ -1497,6 +1497,7 @@ void ata_eh_analyze_ncq_error(struct ata
+ }
+
+ /* okay, this error is ours */
++ memset(&tf, 0, sizeof(tf));
+ rc = ata_eh_read_log_10h(dev, &tag, &tf);
+ if (rc) {
+ ata_link_printk(link, KERN_ERR, "failed to read log page 10h "
--- /dev/null
+From 534ead709235b967b659947c55d9130873a432c4 Mon Sep 17 00:00:00 2001
+From: Tejun Heo <tj@kernel.org>
+Date: Thu, 14 Jan 2010 16:18:09 +0900
+Subject: libata: retry FS IOs even if it has failed with AC_ERR_INVALID
+
+From: Tejun Heo <tj@kernel.org>
+
+commit 534ead709235b967b659947c55d9130873a432c4 upstream.
+
+libata currently doesn't retry if a command fails with AC_ERR_INVALID
+assuming that retrying won't get it any further even if retried.
+However, a failure may be classified as invalid through hardware
+glitch (incorrect reading of the error register or firmware bug) and
+there isn't whole lot to gain by not retrying as actually invalid
+commands will be failed immediately. Also, commands serving FS IOs
+are extremely unlikely to be invalid. Retry FS IOs even if it's
+marked invalid.
+
+Transient and incorrect invalid failure was seen while debugging
+firmware related issue on Samsung n130 on bko#14314.
+
+ http://bugzilla.kernel.org/show_bug.cgi?id=14314
+
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Reported-by: Johannes Stezenbach <js@sig21.net>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/ata/libata-eh.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/ata/libata-eh.c
++++ b/drivers/ata/libata-eh.c
+@@ -1901,8 +1901,9 @@ static void ata_eh_link_autopsy(struct a
+ qc->err_mask &= ~(AC_ERR_DEV | AC_ERR_OTHER);
+
+ /* determine whether the command is worth retrying */
+- if (!(qc->err_mask & AC_ERR_INVALID) &&
+- ((qc->flags & ATA_QCFLAG_IO) || qc->err_mask != AC_ERR_DEV))
++ if (qc->flags & ATA_QCFLAG_IO ||
++ (!(qc->err_mask & AC_ERR_INVALID) &&
++ qc->err_mask != AC_ERR_DEV))
+ qc->flags |= ATA_QCFLAG_RETRY;
+
+ /* accumulate error info */
nfs-d_revalidate-is-too-trigger-happy-with-d_drop.patch
nfs-rsize-and-wsize-settings-ignored-on-v4-mounts.patch
i2c-fix-probing-of-fsc-hardware-monitoring-chips.patch
+libata-ensure-ncq-error-result-taskfile-is-fully-initialized-before-returning-it-via-qc-result_tf.patch
+libata-retry-fs-ios-even-if-it-has-failed-with-ac_err_invalid.patch
+svc-clean-up-deferred-requests-on-transport-destruction.patch
--- /dev/null
+From 22945e4a1c7454c97f5d8aee1ef526c83fef3223 Mon Sep 17 00:00:00 2001
+From: Tom Tucker <tom@opengridcomputing.com>
+Date: Mon, 5 Jan 2009 15:21:19 -0600
+Subject: svc: Clean up deferred requests on transport destruction
+
+From: Tom Tucker <tom@opengridcomputing.com>
+
+commit 22945e4a1c7454c97f5d8aee1ef526c83fef3223 upstream.
+
+A race between svc_revisit and svc_delete_xprt can result in
+deferred requests holding references on a transport that can never be
+recovered because dead transports are not enqueued for subsequent
+processing.
+
+Check for XPT_DEAD in revisit to clean up completing deferrals on a dead
+transport and sweep a transport's deferred queue to do the same for queued
+but unprocessed deferrals.
+
+Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
+Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+Cc: roma1390 <roma1390@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/sunrpc/svc_xprt.c | 25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+--- a/net/sunrpc/svc_xprt.c
++++ b/net/sunrpc/svc_xprt.c
+@@ -810,6 +810,11 @@ static void svc_age_temp_xprts(unsigned
+ void svc_delete_xprt(struct svc_xprt *xprt)
+ {
+ struct svc_serv *serv = xprt->xpt_server;
++ struct svc_deferred_req *dr;
++
++ /* Only do this once */
++ if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags))
++ return;
+
+ dprintk("svc: svc_delete_xprt(%p)\n", xprt);
+ xprt->xpt_ops->xpo_detach(xprt);
+@@ -824,12 +829,16 @@ void svc_delete_xprt(struct svc_xprt *xp
+ * while still attached to a queue, the queue itself
+ * is about to be destroyed (in svc_destroy).
+ */
+- if (!test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)) {
+- BUG_ON(atomic_read(&xprt->xpt_ref.refcount) < 2);
+- if (test_bit(XPT_TEMP, &xprt->xpt_flags))
+- serv->sv_tmpcnt--;
++ if (test_bit(XPT_TEMP, &xprt->xpt_flags))
++ serv->sv_tmpcnt--;
++
++ for (dr = svc_deferred_dequeue(xprt); dr;
++ dr = svc_deferred_dequeue(xprt)) {
+ svc_xprt_put(xprt);
++ kfree(dr);
+ }
++
++ svc_xprt_put(xprt);
+ spin_unlock_bh(&serv->sv_lock);
+ }
+
+@@ -875,17 +884,19 @@ static void svc_revisit(struct cache_def
+ container_of(dreq, struct svc_deferred_req, handle);
+ struct svc_xprt *xprt = dr->xprt;
+
+- if (too_many) {
++ spin_lock(&xprt->xpt_lock);
++ set_bit(XPT_DEFERRED, &xprt->xpt_flags);
++ if (too_many || test_bit(XPT_DEAD, &xprt->xpt_flags)) {
++ spin_unlock(&xprt->xpt_lock);
++ dprintk("revisit canceled\n");
+ svc_xprt_put(xprt);
+ kfree(dr);
+ return;
+ }
+ dprintk("revisit queued\n");
+ dr->xprt = NULL;
+- spin_lock(&xprt->xpt_lock);
+ list_add(&dr->handle.recent, &xprt->xpt_deferred);
+ spin_unlock(&xprt->xpt_lock);
+- set_bit(XPT_DEFERRED, &xprt->xpt_flags);
+ svc_xprt_enqueue(xprt);
+ svc_xprt_put(xprt);
+ }
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ drivers/pci/pci.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
-@@ -679,7 +679,7 @@ static void __pci_start_power_transition(struct pci_dev *dev, pci_power_t state)
+@@ -601,7 +601,7 @@ static void __pci_start_power_transition
*/
int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state)
{
pci_platform_power_transition(dev, state) : -EINVAL;
}
EXPORT_SYMBOL_GPL(__pci_complete_power_transition);
-@@ -716,10 +716,6 @@ int pci_set_power_state(struct pci_dev *dev, pci_power_t state)
+@@ -638,10 +638,6 @@ int pci_set_power_state(struct pci_dev *
*/
return 0;
p54pci-rx-frame-length-check.patch
drivers-net-wireless-p54-txrx.c-fix-off-by-one-error.patch
dccp_probe-fix-module-load-dependencies-between-dccp-and-dccp_probe.patch
+kvm-remove-unused-load_segment_descriptor_to_kvm_desct.patch
+kgdb-don-t-needlessly-skip-page_user-test-for-fsl-booke.patch
+r8169-use-correct-barrier-between-cacheable-and-non-cacheable-memory.patch
+r8169-fix-broken-register-writes.patch
+r8169-more-broken-register-writes-workaround.patch
pci-ensure-we-re-enable-devices-on-resume.patch
+skip-sense-logging-for-some-ata-pass-through-cdbs.patch
+tg3-fix-intx-fallback-when-msi-fails.patch
+xfs-add-a-shrinker-to-background-inode-reclaim.patch
+parisc-set-pci-cls-early-in-boot.patch
+qla2xxx-properly-handle-underrun-completion-statuses.patch
+bnx2-fix-lost-msi-x-problem-on-5709-nics.patch
cred-fix-a-race-in-creds_are_invalid-in-credentials-debugging.patch
jfs-fix-diallocext-error-in-resizing-filesystem.patch
drivers-net-wireless-p54-txrx.c-fix-off-by-one-error.patch
+kgdb-don-t-needlessly-skip-page_user-test-for-fsl-booke.patch
+r8169-use-correct-barrier-between-cacheable-and-non-cacheable-memory.patch
+r8169-fix-broken-register-writes.patch
+r8169-more-broken-register-writes-workaround.patch
+ath9k-reorder-ieee80211_free_hw-behind-ath9k_uninit_hw-to-avoid-oops.patch
+skip-sense-logging-for-some-ata-pass-through-cdbs.patch
+tg3-fix-intx-fallback-when-msi-fails.patch
+xfs-add-a-shrinker-to-background-inode-reclaim.patch
+powerpc-reset-kernel-stack-on-cpu-online-from-cede-state.patch
+powerpc-move-checks-in-pseries_mach_cpu_die.patch
+powerpc-reduce-printk-from-pseries_mach_cpu_die.patch
+bnx2-fix-lost-msi-x-problem-on-5709-nics.patch