public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 2.5.67+ scsi_release_request call queue next
@ 2003-04-15  6:33 Mike Anderson
  2003-04-15 15:01 ` Trivial patch for scsi logging text string Alan Stern
  2003-04-15 19:39 ` [PATCH] 2.5.67+ scsi_release_request call queue next Alan Stern
  0 siblings, 2 replies; 10+ messages in thread
From: Mike Anderson @ 2003-04-15  6:33 UTC (permalink / raw)
  To: linux-scsi; +Cc: stern

This patch is against 2.5.67 as of 04-14 as it needs extern for
scsi_queue_next_request.

I just compiled and booted this patch. I currently do not have a setup to
check door lock post error recovery.

-andmike
--
Michael Anderson
andmike@us.ibm.com


DESC
The patch adds a call to scsi_queue_next_request from scsi_release_request. It
also removes a call in scsi_eh_lock_done to scsi_put_command.
scsi_release_request will do a call to scsi_put_command if needed.
EDESC


 drivers/scsi/scsi.c       |    2 ++
 drivers/scsi/scsi_error.c |    4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff -puN drivers/scsi/scsi.c~scsi-release-req drivers/scsi/scsi.c
--- sysfs-bleed-2.5/drivers/scsi/scsi.c~scsi-release-req	Mon Apr 14 15:34:14 2003
+++ sysfs-bleed-2.5-andmike/drivers/scsi/scsi.c	Mon Apr 14 15:34:14 2003
@@ -224,8 +224,10 @@ void scsi_release_request(Scsi_Request *
 {
 	if( req->sr_command != NULL )
 	{
+    		request_queue_t *q = req->sr_device->request_queue;
 		scsi_put_command(req->sr_command);
 		req->sr_command = NULL;
+		scsi_queue_next_request(q, NULL);
 	}
 
 	kfree(req);
diff -puN drivers/scsi/scsi_error.c~scsi-release-req drivers/scsi/scsi_error.c
--- sysfs-bleed-2.5/drivers/scsi/scsi_error.c~scsi-release-req	Mon Apr 14 15:34:14 2003
+++ sysfs-bleed-2.5-andmike/drivers/scsi/scsi_error.c	Mon Apr 14 15:34:14 2003
@@ -1334,10 +1334,6 @@ static void scsi_eh_lock_done(struct scs
 {
 	struct scsi_request *sreq = scmd->sc_request;
 
-	scmd->sc_request = NULL;
-	sreq->sr_command = NULL;
-
-	scsi_put_command(scmd);
 	scsi_release_request(sreq);
 }
 

_

^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] 2.5.67+ scsi_release_request call queue next
@ 2003-04-29 20:56 Alan Stern
  2003-04-29 21:18 ` Mike Anderson
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Stern @ 2003-04-29 20:56 UTC (permalink / raw)
  To: Mike Anderson; +Cc: linux-scsi

Mike:

I just noticed that your patch below isn't included in 2.5.68.  It still
works just fine.  Is it going to be submitted?

Alan Stern


Date: Mon, 14 Apr 2003 23:33:03 -0700
From: Mike Anderson <andmike@us.ibm.com>
To: linux-scsi@vger.kernel.org
Cc: stern@rowland.harvard.edu
Subject: [PATCH] 2.5.67+ scsi_release_request call queue next

This patch is against 2.5.67 as of 04-14 as it needs extern for
scsi_queue_next_request.

I just compiled and booted this patch. I currently do not have a setup to
check door lock post error recovery.

-andmike
--
Michael Anderson
andmike@us.ibm.com


DESC
The patch adds a call to scsi_queue_next_request from scsi_release_request. It
also removes a call in scsi_eh_lock_done to scsi_put_command.
scsi_release_request will do a call to scsi_put_command if needed.
EDESC


 drivers/scsi/scsi.c       |    2 ++
 drivers/scsi/scsi_error.c |    4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff -puN drivers/scsi/scsi.c~scsi-release-req drivers/scsi/scsi.c
--- sysfs-bleed-2.5/drivers/scsi/scsi.c~scsi-release-req	Mon Apr 14 15:34:14 2003
+++ sysfs-bleed-2.5-andmike/drivers/scsi/scsi.c	Mon Apr 14 15:34:14 2003
@@ -224,8 +224,10 @@ void scsi_release_request(Scsi_Request *
 {
 	if( req->sr_command != NULL )
 	{
+    		request_queue_t *q = req->sr_device->request_queue;
 		scsi_put_command(req->sr_command);
 		req->sr_command = NULL;
+		scsi_queue_next_request(q, NULL);
 	}
 
 	kfree(req);
diff -puN drivers/scsi/scsi_error.c~scsi-release-req drivers/scsi/scsi_error.c
--- sysfs-bleed-2.5/drivers/scsi/scsi_error.c~scsi-release-req	Mon Apr 14 15:34:14 2003
+++ sysfs-bleed-2.5-andmike/drivers/scsi/scsi_error.c	Mon Apr 14 15:34:14 2003
@@ -1334,10 +1334,6 @@ static void scsi_eh_lock_done(struct scs
 {
 	struct scsi_request *sreq = scmd->sc_request;
 
-	scmd->sc_request = NULL;
-	sreq->sr_command = NULL;
-
-	scsi_put_command(scmd);
 	scsi_release_request(sreq);
 }
 

_




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-04-29 21:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-15  6:33 [PATCH] 2.5.67+ scsi_release_request call queue next Mike Anderson
2003-04-15 15:01 ` Trivial patch for scsi logging text string Alan Stern
2003-04-15 17:03   ` Greg KH
2003-04-15 17:10     ` James Bottomley
2003-04-15 19:31       ` Alan Stern
2003-04-15 21:42         ` James Bottomley
2003-04-15 19:39 ` [PATCH] 2.5.67+ scsi_release_request call queue next Alan Stern
2003-04-15 22:36   ` Mike Anderson
  -- strict thread matches above, loose matches on Subject: below --
2003-04-29 20:56 Alan Stern
2003-04-29 21:18 ` Mike Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox