scsi: 3w-sas: Call scsi_done() directly
[linux-2.6-microblaze.git] / drivers / scsi / 3w-sas.c
index 4fde39d..e6f5190 100644 (file)
@@ -1216,7 +1216,7 @@ static irqreturn_t twl_interrupt(int irq, void *dev_instance)
 
                        /* Now complete the io */
                        scsi_dma_unmap(cmd);
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
                        tw_dev->state[request_id] = TW_S_COMPLETED;
                        twl_free_request_id(tw_dev, request_id);
                        tw_dev->posted_request_count--;
@@ -1369,7 +1369,7 @@ static int twl_reset_device_extension(TW_Device_Extension *tw_dev, int ioctl_res
                        if (cmd) {
                                cmd->result = (DID_RESET << 16);
                                scsi_dma_unmap(cmd);
-                               cmd->scsi_done(cmd);
+                               scsi_done(cmd);
                        }
                }
        }
@@ -1461,9 +1461,6 @@ static int twl_scsi_queue_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_
                goto out;
        }
 
-       /* Save done function into scsi_cmnd struct */
-       SCpnt->scsi_done = done;
-
        /* Get a free request id */
        twl_get_request_id(tw_dev, &request_id);