ide-cd: cleanup ide_cd_do_request()
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 31 Mar 2009 18:15:05 +0000 (20:15 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 31 Mar 2009 18:15:05 +0000 (20:15 +0200)
There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-cd.c

index 978e1c0c172209595929d17d7822ba78cab5570c..30113e69c8bbd64c1b15161b0d0ced1a03c54fac 100644 (file)
@@ -1049,8 +1049,11 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq,
 
        if (blk_fs_request(rq)) {
                if (cdrom_start_rw(drive, rq) == ide_stopped ||
-                   ide_cd_prepare_rw_request(drive, rq) == ide_stopped)
+                   ide_cd_prepare_rw_request(drive, rq) == ide_stopped) {
+                       if (rq->current_nr_sectors == 0)
+                               uptodate = 1;
                        goto out_end;
+               }
        } else if (blk_sense_request(rq) || blk_pc_request(rq) ||
                   rq->cmd_type == REQ_TYPE_ATA_PC) {
                if (!rq->timeout)
@@ -1063,6 +1066,8 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq,
                goto out_end;
        } else {
                blk_dump_rq_flags(rq, DRV_NAME " bad flags");
+               if (rq->errors == 0)
+                       rq->errors = -EIO;
                goto out_end;
        }
 
@@ -1075,14 +1080,6 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq,
 
        return ide_issue_pc(drive, &cmd);
 out_end:
-       if (blk_fs_request(rq)) {
-               if (rq->current_nr_sectors == 0)
-                       uptodate = 1;
-       } else {
-               if (uptodate <= 0 && rq->errors == 0)
-                       rq->errors = -EIO;
-       }
-
        nsectors = rq->hard_nr_sectors;
 
        if (nsectors == 0)