All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/5] ipr fix for ioa reset timeout oops
@ 2004-05-23  0:50 Brian King
  0 siblings, 0 replies; only message in thread
From: Brian King @ 2004-05-23  0:50 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi

[-- Attachment #1: Type: text/plain, Size: 64 bytes --]


-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center

[-- Attachment #2: ipr_ioa_reset_timeout_oops-3.patch --]
[-- Type: text/plain, Size: 1117 bytes --]


This patch fixes an oops discovered in test which can occur
on bad hardware if the ipr adapter times out coming operational. 


---

 linux-2.6.6-bjking1/drivers/scsi/ipr.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/scsi/ipr.c~ipr_ioa_reset_timeout_oops drivers/scsi/ipr.c
--- linux-2.6.6/drivers/scsi/ipr.c~ipr_ioa_reset_timeout_oops	2004-05-22 14:49:44.000000000 -0500
+++ linux-2.6.6-bjking1/drivers/scsi/ipr.c	2004-05-22 17:17:47.000000000 -0500
@@ -3179,6 +3179,7 @@ static irqreturn_t ipr_handle_other_inte
 		writel(IPR_PCII_IOA_TRANS_TO_OPER, ioa_cfg->regs.clr_interrupt_reg);
 		int_reg = readl(ioa_cfg->regs.sense_interrupt_reg);
 
+		list_del(&ioa_cfg->reset_cmd->queue);
 		del_timer(&ioa_cfg->reset_cmd->timer);
 		ipr_reset_ioa_job(ioa_cfg->reset_cmd);
 	} else {
@@ -4806,6 +4807,7 @@ static int ipr_reset_enable_ioa(struct i
 	ipr_cmd->timer.expires = jiffies + IPR_OPERATIONAL_TIMEOUT;
 	ipr_cmd->timer.function = (void (*)(unsigned long))ipr_timeout;
 	add_timer(&ipr_cmd->timer);
+	list_add_tail(&ipr_cmd->queue, &ioa_cfg->pending_q);
 
 	LEAVE;
 	return IPR_RC_JOB_RETURN;

_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-05-23  0:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-23  0:50 [PATCH 3/5] ipr fix for ioa reset timeout oops Brian King

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.