request_firmware() may sleep and it appears to be safe to release the spinlock here. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> --- Scott Bailey <scott.bailey@xxxxxx> tested this change to the two separate functions qla1280_load_firmware_{pio,dma}() in 2.6.30. I'm not adding Tested-by since he didn't test this exact code. Ben. drivers/scsi/qla1280.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 4951344..492492d 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -1803,8 +1803,10 @@ qla1280_load_firmware(struct scsi_qla_host *ha) if (err) return 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); -- 1.6.3.3
Attachment:
signature.asc
Description: This is a digitally signed message part