vserver 2.0 rc7
[linux-2.6.git] / drivers / ide / ide-taskfile.c
index f7687df..d04f62a 100644 (file)
@@ -181,8 +181,6 @@ ide_startstop_t set_multmode_intr (ide_drive_t *drive)
        return ide_stopped;
 }
 
-EXPORT_SYMBOL(set_multmode_intr);
-
 /*
  * set_geometry_intr() is invoked on completion of a WIN_SPECIFY cmd.
  */
@@ -207,8 +205,6 @@ ide_startstop_t set_geometry_intr (ide_drive_t *drive)
        return ide_started;
 }
 
-EXPORT_SYMBOL(set_geometry_intr);
-
 /*
  * recal_intr() is invoked on completion of a WIN_RESTORE (recalibrate) cmd.
  */
@@ -222,8 +218,6 @@ ide_startstop_t recal_intr (ide_drive_t *drive)
        return ide_stopped;
 }
 
-EXPORT_SYMBOL(recal_intr);
-
 /*
  * Handler for commands without a data phase
  */
@@ -360,8 +354,12 @@ static ide_startstop_t task_error(ide_drive_t *drive, struct request *rq,
                        break;
                }
 
-               if (sectors > 0)
-                       drive->driver->end_request(drive, 1, sectors);
+               if (sectors > 0) {
+                       ide_driver_t *drv;
+
+                       drv = *(ide_driver_t **)rq->rq_disk->private_data;
+                       drv->end_request(drive, 1, sectors);
+               }
        }
        return ide_error(drive, s, stat);
 }
@@ -377,7 +375,8 @@ static void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat)
                        return;
                }
        }
-       drive->driver->end_request(drive, 1, rq->hard_nr_sectors);
+
+       ide_end_request(drive, 1, rq->hard_nr_sectors);
 }
 
 /*