rpms/kernel/devel linux-2.6-dvb-spinlock.patch, NONE, 1.1 kernel-2.6.spec, 1.3049, 1.3050

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Apr 5 22:21:29 UTC 2007


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv500

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-dvb-spinlock.patch 
Log Message:
* Thu Apr 05 2007 Dave Jones <davej at redhat.com>
- Fix kernel.org bugzilla #8301: spinlock fix for flexcop-pci (#234900)


linux-2.6-dvb-spinlock.patch:
 flexcop-pci.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

--- NEW FILE linux-2.6-dvb-spinlock.patch ---

# HG changeset patch
# User Mauro Carvalho Chehab <mchehab at infradead.org>
# Date Thu Apr 05 14:28:11 2007 -0300
# Node ID a80058519added447f1cdd870334282e8ac3226e
# parent: 628ca02d680721a85e9b2fca7cf4b782b31f9443
Fix Kernel Bugzilla #8301: spinlock fix for flexcop-pci

# Now, patch author (just the main one), on a From: field
# Please change below if the committer is not the patch author.
#
>From Hendrik Borghorst <hendrik at borghorst.org>

# Then a detailed description:
If you modprobe the b2c2-flexcop-pci module you got a hardlock of your system.
This is due the usage of spin_lock before spin_lock_init is called.

# At the end Signed-off-by: fields by patch author and committer, at least.
#
Signed-Off-By: Patrick Boettcher <pb at linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab at infradead.org>

--- a/drivers/media/dvb/b2c2/flexcop-pci.c	Wed Apr 04 13:11:06 2007 -0700
+++ b/drivers/media/dvb/b2c2/flexcop-pci.c	Thu Apr 05 14:28:11 2007 -0300
@@ -143,10 +143,11 @@ static irqreturn_t flexcop_pci_isr(int i
 {
 	struct flexcop_pci *fc_pci = dev_id;
 	struct flexcop_device *fc = fc_pci->fc_dev;
+	unsigned long flags;
 	flexcop_ibi_value v;
 	irqreturn_t ret = IRQ_HANDLED;
 
-	spin_lock_irq(&fc_pci->irq_lock);
+	spin_lock_irqsave(&fc_pci->irq_lock,flags);
 
 	v = fc->read_ibi_reg(fc,irq_20c);
 
@@ -210,7 +211,7 @@ static irqreturn_t flexcop_pci_isr(int i
 		ret = IRQ_NONE;
 	}
 
-	spin_unlock_irq(&fc_pci->irq_lock);
+	spin_unlock_irqrestore(&fc_pci->irq_lock,flags);
 
 	return ret;
 }
@@ -309,12 +310,12 @@ static int flexcop_pci_init(struct flexc
 	}
 
 	pci_set_drvdata(fc_pci->pdev, fc_pci);
-
+	spin_lock_init(&fc_pci->irq_lock);
 	if ((ret = request_irq(fc_pci->pdev->irq, flexcop_pci_isr,
 					IRQF_SHARED, DRIVER_NAME, fc_pci)) != 0)
 		goto err_pci_iounmap;
 
-	spin_lock_init(&fc_pci->irq_lock);
+
 
 	fc_pci->init_state |= FC_PCI_INIT;
 	return ret;



Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.3049
retrieving revision 1.3050
diff -u -r1.3049 -r1.3050
--- kernel-2.6.spec	5 Apr 2007 21:43:12 -0000	1.3049
+++ kernel-2.6.spec	5 Apr 2007 22:21:27 -0000	1.3050
@@ -526,6 +526,7 @@
 Patch1650: linux-2.6-serial-460800.patch
 Patch1681: linux-2.6-xfs-umount-fix.patch
 Patch1690: linux-2.6-PT_LOAD-align.patch
+Patch1700: linux-2.6-dvb-spinlock.patch
 Patch1720: linux-2.6-proc-self-maps-fix.patch
 Patch1740: linux-2.6-softlockup-disable.patch
 Patch1770: linux-2.6-optimise-spinlock-debug.patch
@@ -1198,6 +1199,8 @@
 %patch1681 -p1
 # Align kernel data segment to page boundary.
 %patch1690 -p1
+# DVB spinlock bug
+%patch1700 -p1
 # setuid /proc/self/maps fix.
 %patch1720 -p1
 # Add a safety net to softlockup so that it doesn't prevent installs.
@@ -2240,6 +2243,9 @@
 
 %changelog
 * Thu Apr 05 2007 Dave Jones <davej at redhat.com>
+- Fix kernel.org bugzilla #8301: spinlock fix for flexcop-pci (#234900)
+
+* Thu Apr 05 2007 Dave Jones <davej at redhat.com>
 - Remove a bunch of dead patches.
 
 * Thu Apr 05 2007 Dave Jones <davej at redhat.com>




More information about the fedora-cvs-commits mailing list