[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