[kernel] r14172 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Sun Aug 23 15:10:41 UTC 2009


Author: benh
Date: Sun Aug 23 15:10:39 2009
New Revision: 14172

Log:
qla1280: Release spinlock when requesting firmware (closes: #543244)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/7

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sun Aug 23 14:54:45 2009	(r14171)
+++ dists/sid/linux-2.6/debian/changelog	Sun Aug 23 15:10:39 2009	(r14172)
@@ -8,6 +8,9 @@
   * [armel/kirkwood] Enable SATA_AHCI.
   * [armel/kirkwood] Enable MACH_OPENRD_BASE.
 
+  [ Ben Hutchings ]
+  * qla1280: Release spinlock when requesting firmware (closes: #543244)
+
  -- Martin Michlmayr <tbm at cyrius.com>  Sun, 23 Aug 2009 22:42:34 +0900
 
 linux-2.6 (2.6.30-6) unstable; urgency=high

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch	Sun Aug 23 15:10:39 2009	(r14172)
@@ -0,0 +1,35 @@
+commit 480c1e36532fc2783834d9582a11fbf1d493af42
+Author: Ben Hutchings <ben at decadent.org.uk>
+Date:   Sun Aug 16 03:42:24 2009 +0100
+
+    qla1280: Drop host_lock while requesting firmware
+    
+    request_firmware() may sleep and it appears to be safe to release the
+    spinlock here.
+
+diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
+index 5defe5e..97cbf12 100644
+--- a/drivers/scsi/qla1280.c
++++ b/drivers/scsi/qla1280.c
+@@ -1642,8 +1642,10 @@ qla1280_load_firmware_pio(struct scsi_qla_host *ha)
+ 	uint16_t mb[MAILBOX_REGISTER_COUNT], i;
+ 	int err;
+ 
++	spin_unlock_irq(ha->host->host_lock);
+ 	err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname,
+ 			       &ha->pdev->dev);
++	spin_lock_irq(ha->host->host_lock);
+ 	if (err) {
+ 		printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
+ 		       ql1280_board_tbl[ha->devnum].fwname, err);
+@@ -1701,8 +1703,10 @@ qla1280_load_firmware_dma(struct scsi_qla_host *ha)
+ 		return -ENOMEM;
+ #endif
+ 
++	spin_unlock_irq(ha->host->host_lock);
+ 	err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname,
+ 			       &ha->pdev->dev);
++	spin_lock_irq(ha->host->host_lock);
+ 	if (err) {
+ 		printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
+ 		       ql1280_board_tbl[ha->devnum].fwname, err);

Modified: dists/sid/linux-2.6/debian/patches/series/7
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/7	Sun Aug 23 14:54:45 2009	(r14171)
+++ dists/sid/linux-2.6/debian/patches/series/7	Sun Aug 23 15:10:39 2009	(r14172)
@@ -2,3 +2,4 @@
 + features/arm/openrd-machtype.patch
 + features/arm/openrd.patch
 + features/arm/openrd-sata.patch
++ bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch



More information about the Kernel-svn-changes mailing list