]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.kernel.org/revert-scsi-qla2xxx-return-a-failed-status-when-abort-mailbox-command-fails.patch
Reenabled linux-xen, added patches for Xen Kernel Version 2.6.27.31,
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.kernel.org / revert-scsi-qla2xxx-return-a-failed-status-when-abort-mailbox-command-fails.patch
1 From 5bff55db3dc4d659f46b4d2fce2f61c1964c2762 Mon Sep 17 00:00:00 2001
2 From: Michael Reed <mdr@sgi.com>
3 Date: Fri, 24 Oct 2008 15:13:47 -0700
4 Subject: revert - SCSI: qla2xxx: Return a FAILED status when abort mailbox-command fails.
5
6 -------------------
7 This is a revert of this patch that is included in 2.6.27.7
8 as a further qla2xxx driver update in the series conflicts with this
9 - gregkh
10 -------------------
11
12 From: Michael Reed <mdr@sgi.com>
13
14 commit 5bff55db3dc4d659f46b4d2fce2f61c1964c2762 upstream.
15
16 Mike Reed noted
17 (https://bugzilla.novell.com/show_bug.cgi?id=421330) that the
18 driver was incorrectly returning a SUCCESS status if the driver's
19 request to the firmware to abort a command failed. By doing so,
20 the mid-layer believed, incorrectly, that the command has
21 completed and has been returned (ultimately clearing
22 scsi_cmnd.request_buffer) yet the driver still has the command.
23 What should correctly happen is a mid-layer escalation
24 (device-reset, etc.) of recovery during which the driver will
25 eventually return the outstanding commands to the mid-layer.
26
27 Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
28 Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
29 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
30
31 ---
32
33 ---
34 drivers/scsi/qla2xxx/qla_os.c | 1 -
35 1 file changed, 1 deletion(-)
36
37 --- a/drivers/scsi/qla2xxx/qla_os.c
38 +++ b/drivers/scsi/qla2xxx/qla_os.c
39 @@ -730,7 +730,6 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd)
40 if (ha->isp_ops->abort_command(ha, sp)) {
41 DEBUG2(printk("%s(%ld): abort_command "
42 "mbx failed.\n", __func__, ha->host_no));
43 - ret = FAILED;
44 } else {
45 DEBUG3(printk("%s(%ld): abort_command "
46 "mbx success.\n", __func__, ha->host_no));