qla1280: Release spinlock when requesting firmware (closes: #543244)
svn path=/dists/trunk/linux-2.6/; revision=14176
This commit is contained in:
parent
933e1459b8
commit
1ac47640d3
|
@ -61,6 +61,7 @@ linux-2.6 (2.6.31~rc7-1~experimental.1) UNRELEASED; urgency=low
|
|||
* dvb-usb-af9005: remove firmware and disable
|
||||
* Add warning on upgrade to a new upstream version where the system
|
||||
appears to be missing necessary firmware files (closes: #541702)
|
||||
* qla1280: Release spinlock when requesting firmware (closes: #543244)
|
||||
|
||||
[ Martin Michlmayr ]
|
||||
* [armel/orion5x, armel/kirkwood] Set GPIO_SYSFS=y since these
|
||||
|
|
35
debian/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
vendored
Normal file
35
debian/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
commit 480c1e36532fc2783834d9582a11fbf1d493af42
|
||||
Author: Ben Hutchings <ben@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);
|
|
@ -34,3 +34,4 @@
|
|||
+ features/arm/openrd-machtype.patch
|
||||
+ features/arm/openrd.patch
|
||||
+ features/arm/openrd-sata.patch
|
||||
+ bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
|
||||
|
|
Loading…
Reference in New Issue