Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
[cascardo/linux.git] / drivers / scsi / scsi_lib.c
index ee83619..9ade720 100644 (file)
@@ -1011,11 +1011,8 @@ int scsi_init_io(struct scsi_cmnd *cmd, gfp_t gfp_mask)
 
 err_exit:
        scsi_release_buffers(cmd);
-       if (error == BLKPREP_KILL)
-               scsi_put_command(cmd);
-       else /* BLKPREP_DEFER */
-               scsi_unprep_request(cmd->request);
-
+       scsi_put_command(cmd);
+       cmd->request->special = NULL;
        return error;
 }
 EXPORT_SYMBOL(scsi_init_io);
@@ -1373,12 +1370,6 @@ static void scsi_kill_request(struct request *req, struct request_queue *q)
 
        blk_start_request(req);
 
-       if (unlikely(cmd == NULL)) {
-               printk(KERN_CRIT "impossible request in %s.\n",
-                                __func__);
-               BUG();
-       }
-
        sdev = cmd->device;
        starget = scsi_target(sdev);
        shost = sdev->host;