[kernel] r16119 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series
Ben Hutchings
benh at alioth.debian.org
Wed Aug 11 03:07:04 UTC 2010
Author: benh
Date: Wed Aug 11 03:07:01 2010
New Revision: 16119
Log:
IB/ipath: Fix probe failure path (Closes: #579393)
Added:
dists/sid/linux-2.6/debian/patches/bugfix/all/ipath-Fix-probe-failure-path.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/20
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Wed Aug 11 02:41:09 2010 (r16118)
+++ dists/sid/linux-2.6/debian/changelog Wed Aug 11 03:07:01 2010 (r16119)
@@ -20,6 +20,7 @@
2.6.34.3
* drm/i915: disable FBC when more than one pipe is active
(Closes: #589077)
+ * IB/ipath: Fix probe failure path (Closes: #579393)
[ Martin Michlmayr ]
* [armel/orion5x] Add a missing #include to fix a build issue.
Added: dists/sid/linux-2.6/debian/patches/bugfix/all/ipath-Fix-probe-failure-path.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/ipath-Fix-probe-failure-path.patch Wed Aug 11 03:07:01 2010 (r16119)
@@ -0,0 +1,56 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Fri, 11 Jun 2010 03:34:41 +0100
+Subject: [PATCH] ipath: Fix probe failure path
+
+This has not yet been accepted upstream, but is important for Debian
+because our patch to make the SD7220 code use request_firmware() makes
+probe failure more likely.
+
+The failure path in ipath_init_one() does not match the cleanup code
+in ipath_remove_one() and appears to leave interrupts enabled in some
+cases. Change it to match.
+---
+ drivers/infiniband/hw/ipath/ipath_driver.c | 13 ++++++++++---
+ 1 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c
+index 013d138..66f60bb 100644
+--- a/drivers/infiniband/hw/ipath/ipath_driver.c
++++ b/drivers/infiniband/hw/ipath/ipath_driver.c
+@@ -393,6 +393,8 @@ done:
+ ipath_enable_armlaunch(dd);
+ }
+
++static void cleanup_device(struct ipath_devdata *dd);
++
+ static int __devinit ipath_init_one(struct pci_dev *pdev,
+ const struct pci_device_id *ent)
+ {
+@@ -640,8 +642,13 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
+ goto bail;
+
+ bail_irqsetup:
+- if (pdev->irq)
+- free_irq(pdev->irq, dd);
++ cleanup_device(dd);
++
++ if (dd->ipath_irq)
++ dd->ipath_f_free_irq(dd);
++
++ if (dd->ipath_f_cleanup)
++ dd->ipath_f_cleanup(dd);
+
+ bail_iounmap:
+ iounmap((volatile void __iomem *) dd->ipath_kregbase);
+@@ -659,7 +666,7 @@ bail:
+ return ret;
+ }
+
+-static void __devexit cleanup_device(struct ipath_devdata *dd)
++static void cleanup_device(struct ipath_devdata *dd)
+ {
+ int port;
+ struct ipath_portdata **tmp;
+--
+1.7.1
+
Modified: dists/sid/linux-2.6/debian/patches/series/20
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/20 Wed Aug 11 02:41:09 2010 (r16118)
+++ dists/sid/linux-2.6/debian/patches/series/20 Wed Aug 11 03:07:01 2010 (r16119)
@@ -24,3 +24,4 @@
+ bugfix/all/drm-radeon-kms-r7xx-add-workaround-for-hw-issue-with.patch
+ bugfix/x86/drm-i915-Check-overlay-stride-errata-for-i830-and-i8.patch
+ bugfix/x86/drm-i915-disable-FBC-when-more-than-one-pipe-is-active.patch
++ bugfix/all/ipath-Fix-probe-failure-path.patch
More information about the Kernel-svn-changes
mailing list