lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 6 Feb 2008 22:07:04 +0100 (CET)
FromStefan Richter <>
Subject[PATCH 10/9] firewire: fw-sbp2: preemptively block sdev
Since "fw-sbp2: fix I/O errors during reconnect", a Scsi_Host will be
blocked as soon as a command failed due to bus generation change.  Now
we also block it when fw-core signalled a bus reset via sbp2_update.
This will avoid some command failures and retries (but not all because
commands are injected from tasklet context while sbp2_update runs from
workqueue thread context).

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/fw-sbp2.c |    1 +
 1 file changed, 1 insertion(+)
Index: linux/drivers/firewire/fw-sbp2.c
===================================================================
--- linux.orig/drivers/firewire/fw-sbp2.c
+++ linux/drivers/firewire/fw-sbp2.c
@@ -1135,6 +1135,7 @@ static void sbp2_update(struct fw_unit *
 	 * Iteration over tgt->lu_list is therefore safe here.
 	 */
 	list_for_each_entry(lu, &tgt->lu_list, link) {
+		sbp2_conditionally_block(lu);
 		lu->retries = 0;
 		sbp2_queue_work(lu, 0);
 	}
-- 
Stefan Richter
-=====-==--- --=- --==-
http://arcgraph.de/sr/


\
 
 \ /
  Last update: 2008-02-06 22:11    [from the cache]
©2003-2008