summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/gdth.h
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2008-02-28 00:29:15 +0100
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-02-28 00:54:26 +0100
commitee54cc6af95a7fa09da298493b853a9e64fa8abd (patch)
tree70b68585a4d0261b82bb605dd272991225dc7fc2 /drivers/scsi/gdth.h
parent[SCSI] gdth: bugfix for the at-exit problems (diff)
downloadlinux-ee54cc6af95a7fa09da298493b853a9e64fa8abd.tar.xz
linux-ee54cc6af95a7fa09da298493b853a9e64fa8abd.zip
[SCSI] gdth: fix to internal commands execution
The recent patch named: [SCSI] gdth: !use_sg cleanup and use of scsi accessors has done a bad job in handling internal commands issued by gdth_execute(). Internal commands are issued with device gdth_cmd_str ready made directly to the card, without any mapping or translations of scsi commands. So here I added a gdth_cmd_str pointer to the gdth_cmndinfo private structure which is then copied directly to host. following this patch is a cleanup that removes the home cooked accessors and reverts them to regular scsi_cmnd accessors. Since they are not used anymore. After review maybe the 2 patches should be squashed together. FIXME: There is still a problem with gdth_get_info(). as reported there is a WARN_ON trigerd in dma_free_coherent() when doing: $ cat /proc/sys/gdth/0 Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Tested-by: Joerg Dorchain: <joerg@dorchain.net> Tested-by: Stefan Priebe <s.priebe@allied-internet.ag> Tested-by: Jon Chelton <jchelton@ffpglobal.com> Cc: Stable Tree <stable@kernel.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/gdth.h')
-rw-r--r--drivers/scsi/gdth.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/gdth.h b/drivers/scsi/gdth.h
index 1434c6b0297c..26e4e92515e0 100644
--- a/drivers/scsi/gdth.h
+++ b/drivers/scsi/gdth.h
@@ -915,6 +915,7 @@ typedef struct {
struct gdth_cmndinfo { /* per-command private info */
int index;
int internal_command; /* don't call scsi_done */
+ gdth_cmd_str *internal_cmd_str; /* crier for internal messages*/
dma_addr_t sense_paddr; /* sense dma-addr */
unchar priority;
int timeout;