* [PATCH 0/1] Update for scsi-misc-2.6
@ 2010-09-08 3:55 madhu.iyengar
2010-09-08 3:55 ` [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock madhu.iyengar
0 siblings, 1 reply; 4+ messages in thread
From: madhu.iyengar @ 2010-09-08 3:55 UTC (permalink / raw)
To: James.Bottomley
Cc: giridhar.malavali, madhu.iyengar, andrew.vasquez, linux-scsi
From: Giridhar Malavali <giridhar.malavali@qlogic.com>
James,
We missed this patch a few days ago. Can you please include this.
Thanks.
Shyam Sundar (1):
qla2xxx: ROM lock recovery if fw hangs while holding the lock.
drivers/scsi/qla2xxx/qla_nx.c | 39 ++++++++++++++++++++++++++++++++++++---
1 files changed, 36 insertions(+), 3 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock.
2010-09-08 3:55 [PATCH 0/1] Update for scsi-misc-2.6 madhu.iyengar
@ 2010-09-08 3:55 ` madhu.iyengar
2010-09-14 18:45 ` James Bottomley
0 siblings, 1 reply; 4+ messages in thread
From: madhu.iyengar @ 2010-09-08 3:55 UTC (permalink / raw)
To: James.Bottomley
Cc: giridhar.malavali, madhu.iyengar, andrew.vasquez, linux-scsi,
Shyam Sundar
From: Shyam Sundar <shyam.sundar@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
---
drivers/scsi/qla2xxx/qla_nx.c | 39 ++++++++++++++++++++++++++++++++++++---
1 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
index c5ac876..73bd86d 100644
--- a/drivers/scsi/qla2xxx/qla_nx.c
+++ b/drivers/scsi/qla2xxx/qla_nx.c
@@ -3165,6 +3165,20 @@ qla82xx_start_iocbs(srb_t *sp)
}
}
+void qla82xx_rom_lock_recovery(struct qla_hw_data *ha)
+{
+ if (qla82xx_rom_lock(ha))
+ /* Someone else is holding the lock. */
+ qla_printk(KERN_INFO, ha, "Resetting rom_lock\n");
+
+ /*
+ * Either we got the lock, or someone
+ * else died while holding it.
+ * In either case, unlock.
+ */
+ qla82xx_rd_32(ha, QLA82XX_PCIE_REG(PCIE_SEM2_UNLOCK));
+}
+
/*
* qla82xx_device_bootstrap
* Initialize device, set DEV_READY, start fw
@@ -3179,12 +3193,13 @@ qla82xx_start_iocbs(srb_t *sp)
static int
qla82xx_device_bootstrap(scsi_qla_host_t *vha)
{
- int rval, i, timeout;
+ int rval = QLA_SUCCESS;
+ int i, timeout;
uint32_t old_count, count;
struct qla_hw_data *ha = vha->hw;
+ int need_reset = 0, peg_stuck = 1;
- if (qla82xx_need_reset(ha))
- goto dev_initialize;
+ need_reset = qla82xx_need_reset(ha);
old_count = qla82xx_rd_32(ha, QLA82XX_PEG_ALIVE_COUNTER);
@@ -3198,9 +3213,27 @@ qla82xx_device_bootstrap(scsi_qla_host_t *vha)
count = qla82xx_rd_32(ha, QLA82XX_PEG_ALIVE_COUNTER);
if (count != old_count)
+ peg_stuck = 0;
+ }
+
+ if (need_reset) {
+ /* We are trying to perform a recovery here. */
+ if (peg_stuck)
+ qla82xx_rom_lock_recovery(ha);
+ goto dev_initialize;
+ } else {
+ /* Start of day for this ha context. */
+ if (peg_stuck) {
+ /* Either we are the first or recovery in progress. */
+ qla82xx_rom_lock_recovery(ha);
+ goto dev_initialize;
+ } else
+ /* Firmware already running. */
goto dev_ready;
}
+ return rval;
+
dev_initialize:
/* set to DEV_INITIALIZING */
qla_printk(KERN_INFO, ha, "HW State: INITIALIZING\n");
--
1.6.0.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock.
2010-09-08 3:55 ` [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock madhu.iyengar
@ 2010-09-14 18:45 ` James Bottomley
2010-09-14 22:26 ` Madhu Iyengar
0 siblings, 1 reply; 4+ messages in thread
From: James Bottomley @ 2010-09-14 18:45 UTC (permalink / raw)
To: madhu.iyengar; +Cc: giridhar.malavali, andrew.vasquez, linux-scsi, Shyam Sundar
OK, could we get a bit more order to the qlogic patch process, please?
On Tue, 2010-09-07 at 20:55 -0700, madhu.iyengar@qlogic.com wrote:
> From: Shyam Sundar <shyam.sundar@qlogic.com>
There's no signoff from the person authoring the patch
> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
And unless Giridhar is also an author, why is this signoff here?
Plus your signoff isn't here, but should be as the person transmitting
the patch to me.
I applied this, but next time, please follow the rules.
James
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock.
2010-09-14 18:45 ` James Bottomley
@ 2010-09-14 22:26 ` Madhu Iyengar
0 siblings, 0 replies; 4+ messages in thread
From: Madhu Iyengar @ 2010-09-14 22:26 UTC (permalink / raw)
To: James Bottomley
Cc: Giridhar Malavali, Andrew Vasquez, linux-scsi@vger.kernel.org,
Shyam Sundar, Madhu Iyengar
-----Original Message-----
From: James Bottomley [mailto:James.Bottomley@suse.de]
Sent: Tuesday, September 14, 2010 11:45 AM
To: Madhu Iyengar
Cc: Giridhar Malavali; Andrew Vasquez; linux-scsi@vger.kernel.org; Shyam Sundar
Subject: Re: [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock.
OK, could we get a bit more order to the qlogic patch process, please?
On Tue, 2010-09-07 at 20:55 -0700, madhu.iyengar@qlogic.com wrote:
> From: Shyam Sundar <shyam.sundar@qlogic.com>
There's no signoff from the person authoring the patch
> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
And unless Giridhar is also an author, why is this signoff here?
Plus your signoff isn't here, but should be as the person transmitting
the patch to me.
I applied this, but next time, please follow the rules.
<MI> We will follow the rules next time. Sorry about this.
James
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-09-14 22:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-08 3:55 [PATCH 0/1] Update for scsi-misc-2.6 madhu.iyengar
2010-09-08 3:55 ` [PATCH 1/1] qla2xxx: ROM lock recovery if fw hangs while holding the lock madhu.iyengar
2010-09-14 18:45 ` James Bottomley
2010-09-14 22:26 ` Madhu Iyengar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox