From: "J.A. Magallon" <jamagallon@able.es>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, Jeff Garzik <jgarzik@pobox.com>
Subject: Re: 2.6.12-mm1
Date: Mon, 20 Jun 2005 11:38:41 +0000 [thread overview]
Message-ID: <1119267521l.17554l.1l@werewolf.able.es> (raw)
In-Reply-To: <20050619233029.45dd66b8.akpm@osdl.org> (from akpm@osdl.org on Mon Jun 20 08:30:29 2005)
On 06.20, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12/2.6.12-mm1/
>
>
> - Someone broke /proc/device-tree on ppc64. It's being looked into.
>
> - Nothing particularly special here - various fixes and updates.
>
I had this in my kernel, compiled from lkml ans supposed to fix some brakage
realted to slab management in libata. Is still needed ?
--- linux-2.6.11.orig/drivers/scsi/libata-core.c
+++ linux-2.6.11/drivers/scsi/libata-core.c
@@ -41,6 +41,7 @@
#include <scsi/scsi.h>
#include "scsi.h"
#include "scsi_priv.h"
+#include "scsi_logging.h"
#include <scsi/scsi_host.h>
#include <linux/libata.h>
#include <asm/io.h>
@@ -2833,6 +2834,11 @@ static void atapi_request_sense(struct a
DPRINTK("EXIT\n");
}
+void ata_qc_timeout_done(struct scsi_cmnd *scmd)
+{
+ return;
+}
+
/**
* ata_qc_timeout - Handle timeout of queued command
* @qc: Command that timed out
@@ -2865,17 +2871,16 @@ static void ata_qc_timeout(struct ata_qu
struct scsi_cmnd *cmd = qc->scsicmd;
if (!scsi_eh_eflags_chk(cmd, SCSI_EH_CANCEL_CMD)) {
-
/* finish completing original command */
+ qc->scsidone = ata_qc_timeout_done;
+
__ata_qc_complete(qc);
atapi_request_sense(ap, dev, cmd);
cmd->result = (CHECK_CONDITION << 1) | (DID_OK << 16);
- scsi_finish_command(cmd);
-
- goto out;
}
+ goto out;
}
/* hack alert! We cannot use the supplied completion
--- linux-2.6.11.orig/drivers/scsi/libata-scsi.c
+++ linux-2.6.11/drivers/scsi/libata-scsi.c
@@ -380,12 +380,6 @@ int ata_scsi_error(struct Scsi_Host *hos
ap = (struct ata_port *) &host->hostdata[0];
ap->ops->eng_timeout(ap);
- /* TODO: this is per-command; when queueing is supported
- * this code will either change or move to a more
- * appropriate place
- */
- host->host_failed--;
-
DPRINTK("EXIT\n");
return 0;
}
--- linux-2.6.11.orig/drivers/scsi/scsi_error.c
+++ linux-2.6.11/drivers/scsi/scsi_error.c
@@ -1606,6 +1606,40 @@ static void scsi_unjam_host(struct Scsi_
scsi_eh_flush_done_q(&eh_done_q);
}
+static void scsi_invoke_strategy_handler(struct Scsi_Host *shost)
+{
+ int rtn;
+ struct list_head *lh, *lh_sf;
+ struct scsi_cmnd *scmd;
+ unsigned long flags;
+ LIST_HEAD(eh_work_q);
+ LIST_HEAD(eh_done_q);
+
+ rtn = shost->hostt->eh_strategy_handler(shost);
+
+ spin_lock_irqsave(shost->host_lock, flags);
+ list_splice_init(&shost->eh_cmd_q, &eh_work_q);
+ spin_unlock_irqrestore(shost->host_lock, flags);
+
+ SCSI_LOG_ERROR_RECOVERY(1, scsi_eh_prt_fail_stats(shost, &eh_work_q));
+
+ list_for_each_safe(lh, lh_sf, &eh_work_q) {
+ scmd = list_entry(lh, struct scsi_cmnd, eh_entry);
+
+ if (scsi_eh_eflags_chk(scmd, SCSI_EH_CANCEL_CMD) ||
+ !SCSI_SENSE_VALID(scmd))
+ continue;
+ scmd->retries = scmd->allowed;
+ scsi_eh_finish_cmd(scmd, &eh_done_q);
+ }
+
+ if (!list_empty(&eh_work_q))
+ if (!scsi_eh_abort_cmds(&eh_work_q, &eh_done_q))
+ scsi_eh_ready_devs(shost, &eh_work_q, &eh_done_q);
+
+ scsi_eh_flush_done_q(&eh_done_q);
+}
+
/**
* scsi_error_handler - Handle errors/timeouts of SCSI cmds.
* @data: Host for which we are running.
@@ -1620,7 +1654,6 @@ static void scsi_unjam_host(struct Scsi_
int scsi_error_handler(void *data)
{
struct Scsi_Host *shost = (struct Scsi_Host *) data;
- int rtn;
DECLARE_MUTEX_LOCKED(sem);
/*
@@ -1676,8 +1709,8 @@ int scsi_error_handler(void *data)
* what we need to do to get it up and online again (if we can).
* If we fail, we end up taking the thing offline.
*/
- if (shost->hostt->eh_strategy_handler)
- rtn = shost->hostt->eh_strategy_handler(shost);
+ if (shost->hostt->eh_strategy_handler)
+ scsi_invoke_strategy_handler(shost);
else
scsi_unjam_host(shost);
--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.12-jam1 (gcc 4.0.1 (4.0.1-0.2mdk for Mandriva Linux release 2006.0))
next prev parent reply other threads:[~2005-06-20 11:40 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-20 6:30 2.6.12-mm1 Andrew Morton
2005-06-20 6:57 ` 2.6.12-mm1 Benjamin Herrenschmidt
2005-06-20 8:54 ` 2.6.12-mm1 Ethan Benson
2005-06-20 7:46 ` 2.6.12-mm1 Brice Goglin
2005-06-20 8:14 ` 2.6.12-mm1 Dominik Brodowski
2005-06-20 8:49 ` 2.6.12-mm1 Brice Goglin
[not found] ` <20050620085449.GA32330@isilmar.linta.de>
2005-06-20 13:11 ` 2.6.12-mm1 Brice Goglin
2005-06-22 23:34 ` 2.6.12-mm1 Rajesh Shah
2005-06-23 6:25 ` 2.6.12-mm1 Brice Goglin
2005-06-23 17:05 ` 2.6.12-mm1 Rajesh Shah
2005-06-23 18:09 ` 2.6.12-mm1 Brice Goglin
2005-06-23 20:32 ` 2.6.12-mm1 Rajesh Shah
2005-06-23 21:07 ` 2.6.12-mm1 Brice Goglin
2005-06-23 21:33 ` 2.6.12-mm1 Brice Goglin
2005-06-20 7:59 ` 2.6.12-mm1 Brice Goglin
2005-06-21 12:40 ` 2.6.12-mm1 Brice Goglin
2005-06-21 16:27 ` 2.6.12-mm1 Takashi Iwai
2005-06-21 16:32 ` 2.6.12-mm1 Takashi Iwai
2005-06-21 17:02 ` 2.6.12-mm1 Brice Goglin
2005-06-21 17:16 ` 2.6.12-mm1 Takashi Iwai
2005-06-21 19:39 ` 2.6.12-mm1 Brice Goglin
2005-06-22 10:10 ` 2.6.12-mm1 Takashi Iwai
2005-06-20 9:48 ` [patch] 2.6.12-mm1: saa7134-core.c compile error Adrian Bunk
2005-06-20 22:19 ` Michael Krufky
2005-06-20 11:36 ` [PATCH] bttv fix [was: 2.6.12-mm1] J.A. Magallon
2005-06-20 11:38 ` J.A. Magallon [this message]
2005-06-20 16:36 ` 2.6.12-mm1 Jeff Garzik
2005-06-20 22:35 ` 2.6.12-mm1 J.A. Magallon
2005-06-20 12:32 ` [PATCH] Fix Reiser4 Dependencies Andrew James Wade
2005-06-20 18:26 ` Hans Reiser
2005-06-20 20:44 ` Andrew James Wade
2005-06-21 11:27 ` Edward Shishkin
2005-06-21 18:47 ` Hans Reiser
2005-06-21 19:26 ` Andrew James Wade
2005-06-22 8:56 ` Edward Shishkin
2005-06-22 8:39 ` Edward Shishkin
2005-06-20 13:14 ` 2.6.12-mm1 Andy Whitcroft
2005-06-21 22:55 ` 2.6.12-mm1 Greg KH
2005-06-22 9:23 ` 2.6.12-mm1 Andy Whitcroft
2005-06-22 10:04 ` 2.6.12-mm1 Ivan Kokshaysky
2005-06-20 13:21 ` 2.6.12-mm1: Kernel BUG at "fs/open.c":935 Rafael J. Wysocki
2005-06-20 13:54 ` Dipankar Sarma
2005-06-20 14:05 ` Rafael J. Wysocki
2005-06-20 17:38 ` 2.6.12-mm1: drivers/misc/ibmasm/ compile error Adrian Bunk
2005-06-20 20:24 ` Andrew Morton
2005-06-20 18:29 ` 2.6.12-mm1 Jean Delvare
2005-06-20 20:41 ` 2.6.12-mm1 Andrew Morton
2005-06-20 21:11 ` 2.6.12-mm1 Jean Delvare
2005-06-20 21:23 ` 2.6.12-mm1 Andrew Morton
2005-06-20 21:42 ` 2.6.12-mm1 Jean Delvare
2005-06-20 21:53 ` 2.6.12-mm1 Andrew Morton
2005-06-21 20:06 ` 2.6.12-mm1 Mauro Carvalho Chehab
2005-06-21 21:25 ` 2.6.12-mm1 Jean Delvare
2005-06-20 18:39 ` gregkh-usb-usb-isp116x-hcd-add.patch (was 2.6.12-mm1) Alexey Dobriyan
2005-06-20 22:15 ` 2.6.12-mm1 J.A. Magallon
2005-06-20 22:34 ` iptables bug (was: Re: 2.6.12-mm1) Andrew Morton
2005-06-20 23:39 ` iptables bug Patrick McHardy
2005-06-21 19:21 ` Stephen Jones
2005-06-22 1:52 ` Patrick McHardy
2005-06-21 22:09 ` [PATCH] more signed char cleanups in scripts J.A. Magallon
2005-06-21 22:18 ` Andrew Morton
2005-06-21 22:59 ` J.A. Magallon
2005-06-22 11:46 ` Paulo Marques
2005-06-22 0:05 ` Lee Revell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1119267521l.17554l.1l@werewolf.able.es \
--to=jamagallon@able.es \
--cc=akpm@osdl.org \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®