scsi: wd33c93: Call scsi_done() directly
[linux-2.6-microblaze.git] / drivers / scsi / wd33c93.c
index 4468bc4..fe28d21 100644 (file)
@@ -376,11 +376,9 @@ wd33c93_queuecommand_lck(struct scsi_cmnd *cmd,
 
 /* Set up a few fields in the scsi_cmnd structure for our own use:
  *  - host_scribble is the pointer to the next cmd in the input queue
- *  - scsi_done points to the routine we call when a cmd is finished
  *  - result is what you'd expect
  */
        cmd->host_scribble = NULL;
-       cmd->scsi_done = done;
        cmd->result = 0;
 
 /* We use the Scsi_Pointer structure that's included with each command
@@ -856,7 +854,7 @@ wd33c93_intr(struct Scsi_Host *instance)
                cmd->result = DID_NO_CONNECT << 16;
                hostdata->busy[cmd->device->id] &= ~(1 << (cmd->device->lun & 0xff));
                hostdata->state = S_UNCONNECTED;
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
 
                /* From esp.c:
                 * There is a window of time within the scsi_done() path
@@ -1183,7 +1181,7 @@ wd33c93_intr(struct Scsi_Host *instance)
                                scsi_msg_to_host_byte(cmd, cmd->SCp.Message);
                                set_status_byte(cmd, cmd->SCp.Status);
                        }
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
 
 /* We are no longer  connected to a target - check to see if
  * there are commands waiting to be executed.
@@ -1270,7 +1268,7 @@ wd33c93_intr(struct Scsi_Host *instance)
                        scsi_msg_to_host_byte(cmd, cmd->SCp.Message);
                        set_status_byte(cmd, cmd->SCp.Status);
                }
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
 
 /* We are no longer connected to a target - check to see if
  * there are commands waiting to be executed.
@@ -1306,7 +1304,7 @@ wd33c93_intr(struct Scsi_Host *instance)
                                scsi_msg_to_host_byte(cmd, cmd->SCp.Message);
                                set_status_byte(cmd, cmd->SCp.Status);
                        }
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
                        break;
                case S_PRE_TMP_DISC:
                case S_RUNNING_LEVEL2:
@@ -1636,7 +1634,7 @@ wd33c93_abort(struct scsi_cmnd * cmd)
                            ("scsi%d: Abort - removing command from input_Q. ",
                             instance->host_no);
                        enable_irq(cmd->device->host->irq);
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
                        return SUCCESS;
                }
                prev = tmp;
@@ -1711,7 +1709,7 @@ wd33c93_abort(struct scsi_cmnd * cmd)
                wd33c93_execute(instance);
 
                enable_irq(cmd->device->host->irq);
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
                return SUCCESS;
        }