The field is only used by the 53c700 driver, so move it into the
driver-private device data instead of having it in the common structure.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 drivers/scsi/53c700.c      | 8 +++++---
 drivers/scsi/53c700.h      | 1 +
 include/scsi/scsi_device.h | 1 -
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index 5556201..95e32a4 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -1120,9 +1120,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct 
scsi_cmnd *SCp,
                                "reselection is tag %d, slot %p(%d)\n",
                                hostdata->msgin[2], slot, slot->tag);
                } else {
-                       struct scsi_cmnd *SCp;
+                       struct NCR_700_Device_Parameters *p = SDp->hostdata;
+                       struct scsi_cmnd *SCp = p->current_cmnd;
 
-                       SCp = SDp->current_cmnd;
                        if(unlikely(SCp == NULL)) {
                                sdev_printk(KERN_ERR, SDp,
                                        "no saved request for untagged cmd\n");
@@ -1825,9 +1825,11 @@ NCR_700_queuecommand_lck(struct scsi_cmnd *SCp, void 
(*done)(struct scsi_cmnd *)
                CDEBUG(KERN_DEBUG, SCp, "sending out tag %d, slot %p\n",
                       slot->tag, slot);
        } else {
+               struct NCR_700_Device_Parameters *p = SCp->device->hostdata;
+
                slot->tag = SCSI_NO_TAG;
                /* save current command for reselection */
-               SCp->device->current_cmnd = SCp;
+               p->current_cmnd = SCp;
        }
        /* sanity check: some of the commands generated by the mid-layer
         * have an eccentric idea of their sc_data_direction */
diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h
index c893a5d..f34c916 100644
--- a/drivers/scsi/53c700.h
+++ b/drivers/scsi/53c700.h
@@ -82,6 +82,7 @@ struct NCR_700_Device_Parameters {
         * cmnd[1], this could be in static storage */
        unsigned char cmnd[MAX_COMMAND_SIZE];
        __u8    depth;
+       struct scsi_cmnd *current_cmnd; /* currently active command */
 };
 
 
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index a6c346d..8a95631 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -94,7 +94,6 @@ struct scsi_device {
        spinlock_t list_lock;
        struct list_head cmd_list;      /* queue of in use SCSI Command 
structures */
        struct list_head starved_entry;
-       struct scsi_cmnd *current_cmnd; /* currently active command */
        unsigned short queue_depth;     /* How deep of a queue we want */
        unsigned short max_queue_depth; /* max queue depth */
        unsigned short last_queue_full_depth; /* These two are used by */
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to