block: replace end_request() with [__]blk_end_request_cur()
[linux-2.6-block.git] / drivers / block / swim3.c
index 612965307ba009e04c8f733a870a5b4df69b4572..5904f7b73c6ee5f83de40bd1b8052c663f7ee939 100644 (file)
@@ -320,15 +320,15 @@ static void start_request(struct floppy_state *fs)
 #endif
 
                if (req->sector < 0 || req->sector >= fs->total_secs) {
-                       end_request(req, 0);
+                       __blk_end_request_cur(req, -EIO);
                        continue;
                }
                if (req->current_nr_sectors == 0) {
-                       end_request(req, 1);
+                       __blk_end_request_cur(req, 0);
                        continue;
                }
                if (fs->ejected) {
-                       end_request(req, 0);
+                       __blk_end_request_cur(req, -EIO);
                        continue;
                }
 
@@ -336,7 +336,7 @@ static void start_request(struct floppy_state *fs)
                        if (fs->write_prot < 0)
                                fs->write_prot = swim3_readbit(fs, WRITE_PROT);
                        if (fs->write_prot) {
-                               end_request(req, 0);
+                               __blk_end_request_cur(req, -EIO);
                                continue;
                        }
                }
@@ -508,7 +508,7 @@ static void act(struct floppy_state *fs)
                case do_transfer:
                        if (fs->cur_cyl != fs->req_cyl) {
                                if (fs->retries > 5) {
-                                       end_request(fd_req, 0);
+                                       __blk_end_request_cur(fd_req, -EIO);
                                        fs->state = idle;
                                        return;
                                }
@@ -540,7 +540,7 @@ static void scan_timeout(unsigned long data)
        out_8(&sw->intr_enable, 0);
        fs->cur_cyl = -1;
        if (fs->retries > 5) {
-               end_request(fd_req, 0);
+               __blk_end_request_cur(fd_req, -EIO);
                fs->state = idle;
                start_request(fs);
        } else {
@@ -559,7 +559,7 @@ static void seek_timeout(unsigned long data)
        out_8(&sw->select, RELAX);
        out_8(&sw->intr_enable, 0);
        printk(KERN_ERR "swim3: seek timeout\n");
-       end_request(fd_req, 0);
+       __blk_end_request_cur(fd_req, -EIO);
        fs->state = idle;
        start_request(fs);
 }
@@ -583,7 +583,7 @@ static void settle_timeout(unsigned long data)
                return;
        }
        printk(KERN_ERR "swim3: seek settle timeout\n");
-       end_request(fd_req, 0);
+       __blk_end_request_cur(fd_req, -EIO);
        fs->state = idle;
        start_request(fs);
 }
@@ -615,7 +615,7 @@ static void xfer_timeout(unsigned long data)
        fd_req->current_nr_sectors -= s;
        printk(KERN_ERR "swim3: timeout %sing sector %ld\n",
               (rq_data_dir(fd_req)==WRITE? "writ": "read"), (long)fd_req->sector);
-       end_request(fd_req, 0);
+       __blk_end_request_cur(fd_req, -EIO);
        fs->state = idle;
        start_request(fs);
 }
@@ -646,7 +646,7 @@ static irqreturn_t swim3_interrupt(int irq, void *dev_id)
                                printk(KERN_ERR "swim3: seen sector but cyl=ff?\n");
                                fs->cur_cyl = -1;
                                if (fs->retries > 5) {
-                                       end_request(fd_req, 0);
+                                       __blk_end_request_cur(fd_req, -EIO);
                                        fs->state = idle;
                                        start_request(fs);
                                } else {
@@ -731,7 +731,7 @@ static irqreturn_t swim3_interrupt(int irq, void *dev_id)
                                printk("swim3: error %sing block %ld (err=%x)\n",
                                       rq_data_dir(fd_req) == WRITE? "writ": "read",
                                       (long)fd_req->sector, err);
-                               end_request(fd_req, 0);
+                               __blk_end_request_cur(fd_req, -EIO);
                                fs->state = idle;
                        }
                } else {
@@ -740,7 +740,7 @@ static irqreturn_t swim3_interrupt(int irq, void *dev_id)
                                printk(KERN_ERR "swim3: fd dma: stat=%x resid=%d\n", stat, resid);
                                printk(KERN_ERR "  state=%d, dir=%x, intr=%x, err=%x\n",
                                       fs->state, rq_data_dir(fd_req), intr, err);
-                               end_request(fd_req, 0);
+                               __blk_end_request_cur(fd_req, -EIO);
                                fs->state = idle;
                                start_request(fs);
                                break;
@@ -749,7 +749,7 @@ static irqreturn_t swim3_interrupt(int irq, void *dev_id)
                        fd_req->current_nr_sectors -= fs->scount;
                        fd_req->buffer += fs->scount * 512;
                        if (fd_req->current_nr_sectors <= 0) {
-                               end_request(fd_req, 1);
+                               __blk_end_request_cur(fd_req, 0);
                                fs->state = idle;
                        } else {
                                fs->req_sector += fs->scount;