diff --git a/reactos/drivers/storage/floppy/floppy.c b/reactos/drivers/storage/floppy/floppy.c index 27c34ab1198..5299957861d 100644 --- a/reactos/drivers/storage/floppy/floppy.c +++ b/reactos/drivers/storage/floppy/floppy.c @@ -326,7 +326,7 @@ NTSTATUS NTAPI ResetChangeFlag(PDRIVE_INFO DriveInfo) } /* Seek back to 0 */ - if(HwSeek(DriveInfo, 1) != STATUS_SUCCESS) + if(HwSeek(DriveInfo, 0) != STATUS_SUCCESS) { KdPrint(("floppy: ResetChangeFlag(): HwSeek failed; returning STATUS_IO_DEVICE_ERROR\n")); StopMotor(DriveInfo->ControllerInfo); diff --git a/reactos/drivers/storage/floppy/readwrite.c b/reactos/drivers/storage/floppy/readwrite.c index 8e7e80a90d0..d3d0b68f776 100644 --- a/reactos/drivers/storage/floppy/readwrite.c +++ b/reactos/drivers/storage/floppy/readwrite.c @@ -458,10 +458,12 @@ VOID NTAPI ReadWritePassive(PDRIVE_INFO DriveInfo, /* * Check the change line, and if it's set, return */ + StartMotor(DriveInfo); if(HwDiskChanged(DeviceObject->DeviceExtension, &DiskChanged) != STATUS_SUCCESS) { KdPrint(("floppy: ReadWritePassive(): unable to detect disk change; Completing with STATUS_UNSUCCESSFUL\n")); IoCompleteRequest(Irp, IO_NO_INCREMENT); + StopMotor(DriveInfo->ControllerInfo); return; } @@ -479,12 +481,10 @@ VOID NTAPI ReadWritePassive(PDRIVE_INFO DriveInfo, Irp->IoStatus.Status = STATUS_NO_MEDIA_IN_DEVICE; IoCompleteRequest(Irp, IO_NO_INCREMENT); + StopMotor(DriveInfo->ControllerInfo); return; } - /* Start the motor and set the initial data rate */ - StartMotor(DriveInfo); - /* * Figure out the media type, if we don't know it already */