scsi_cmd->result |= (DID_ERROR << 16);
 
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
                res->in_erp = 0;
        }
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
        }
 
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
                scsi_dma_unmap(scsi_cmd);
 
                spin_lock_irqsave(ipr_cmd->hrrq->lock, lock_flags);
-               scsi_cmd->scsi_done(scsi_cmd);
+               scsi_done(scsi_cmd);
                if (ipr_cmd->eh_comp)
                        complete(ipr_cmd->eh_comp);
                list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
        spin_lock_irqsave(hrrq->lock, hrrq_flags);
        memset(scsi_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
        scsi_cmd->result = (DID_NO_CONNECT << 16);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        spin_unlock_irqrestore(hrrq->lock, hrrq_flags);
        return 0;
 }