From 97dc195d036e9fd166e86a7d5eb2524fd5e2904e Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Thu, 13 Nov 2003 14:22:03 +0000 Subject: [PATCH] Enabled -Wall and -Werror and fixed resulting bugs. svn path=/trunk/; revision=6638 --- reactos/drivers/dd/beep/makefile | 4 +- reactos/drivers/dd/blue/makefile | 4 +- reactos/drivers/dd/floppy/Makefile | 4 +- reactos/drivers/dd/floppy/dpc.c | 333 ++++++++++++-------- reactos/drivers/dd/floppy/floppy.c | 221 +++++++------ reactos/drivers/dd/floppy/isr.c | 29 +- reactos/drivers/storage/atapi/atapi.c | 151 +++------ reactos/drivers/storage/atapi/makefile | 4 +- reactos/drivers/storage/cdrom/cdrom.c | 9 +- reactos/drivers/storage/cdrom/makefile | 4 +- reactos/drivers/storage/class2/class2.c | 4 +- reactos/drivers/storage/class2/makefile | 4 +- reactos/drivers/storage/disk/disk.c | 4 +- reactos/drivers/storage/disk/makefile | 4 +- reactos/drivers/storage/scsiport/makefile | 4 +- reactos/drivers/storage/scsiport/scsiport.c | 66 ++-- 16 files changed, 451 insertions(+), 398 deletions(-) diff --git a/reactos/drivers/dd/beep/makefile b/reactos/drivers/dd/beep/makefile index df5f3685b6a..312fea494cd 100644 --- a/reactos/drivers/dd/beep/makefile +++ b/reactos/drivers/dd/beep/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.13 2001/08/21 20:13:10 chorns Exp $ +# $Id: makefile,v 1.14 2003/11/13 14:20:44 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -8,6 +8,8 @@ TARGET_NAME = beep TARGET_OBJECTS = beep.o +TARGET_CFLAGS = -Wall -Werror + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/dd/blue/makefile b/reactos/drivers/dd/blue/makefile index a94cfb91840..55f72a7cbbf 100644 --- a/reactos/drivers/dd/blue/makefile +++ b/reactos/drivers/dd/blue/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.20 2003/04/05 09:37:41 chorns Exp $ +# $Id: makefile,v 1.21 2003/11/13 14:20:53 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -10,6 +10,8 @@ TARGET_NAME = blue TARGET_OBJECTS = blue.o +TARGET_CFLAGS = -Wall -Werror + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/dd/floppy/Makefile b/reactos/drivers/dd/floppy/Makefile index eed04fd49b1..954a4ad0484 100644 --- a/reactos/drivers/dd/floppy/Makefile +++ b/reactos/drivers/dd/floppy/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.11 2003/04/05 09:37:42 chorns Exp $ +# $Id: Makefile,v 1.12 2003/11/13 14:22:03 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -13,6 +13,8 @@ TARGET_OBJECTS = \ floppy.o \ isr.o +TARGET_CFLAGS = -Wall -Werror + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/dd/floppy/dpc.c b/reactos/drivers/dd/floppy/dpc.c index 275d81fcf73..22d2257e9b9 100644 --- a/reactos/drivers/dd/floppy/dpc.c +++ b/reactos/drivers/dd/floppy/dpc.c @@ -11,134 +11,180 @@ VOID STDCALL -FloppyDpc(PKDPC Dpc, - PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context) +FloppyDpc (PKDPC Dpc, + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context) { - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - ControllerExtension->DpcState( Dpc, - DeviceObject, - Irp, - Context ); + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + + ControllerExtension->DpcState (Dpc, + DeviceObject, + Irp, + Context); } VOID STDCALL -FloppyDpcDetect(PKDPC Dpc, - PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context) -{ - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - KeSetEvent( &ControllerExtension->Event, 0, FALSE ); -} - -VOID STDCALL -FloppyDpcFailIrp(PKDPC Dpc, +FloppyDpcDetect (PKDPC Dpc, PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) { - Irp->IoStatus.Status = STATUS_DEVICE_NOT_READY; - CHECKPOINT; - IoCompleteRequest( Irp, 0 ); + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + + KeSetEvent (&ControllerExtension->Event, + 0, + FALSE); } -VOID STDCALL -FloppyMotorSpindownDpc(PKDPC Dpc, - PVOID Context, - PVOID Arg1, - PVOID Arg2 ) -{ - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; - // queue call to turn off motor - IoAllocateController( Controller, - ControllerExtension->Device, - FloppyExecuteSpindown, - ControllerExtension ); +VOID STDCALL +FloppyDpcFailIrp (PKDPC Dpc, + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context) +{ + Irp->IoStatus.Status = STATUS_DEVICE_NOT_READY; + Irp->IoStatus.Information = 0; + CHECKPOINT; + IoCompleteRequest (Irp, + IO_NO_INCREMENT); } -VOID STDCALL -FloppyMotorSpinupDpc(PKDPC Dpc, - PVOID Context, - PVOID Arg1, - PVOID Arg2) -{ - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; - LARGE_INTEGER Timeout; - Timeout.QuadPart = FLOPPY_MOTOR_SPINDOWN_TIME; - // Motor has had time to spin up, mark motor as spun up and restart IRP - // don't forget to set the spindown timer - KeSetTimer( &ControllerExtension->SpinupTimer, - Timeout, - &ControllerExtension->MotorSpindownDpc ); - DPRINT( "Motor spun up, retrying operation\n" ); - ControllerExtension->MotorOn = DeviceExtension->DriveSelect; - IoFreeController( Controller ); - IoAllocateController( Controller, - ControllerExtension->Device, - FloppyExecuteReadWrite, - ControllerExtension->Irp ); +VOID STDCALL +FloppyMotorSpindownDpc (PKDPC Dpc, + PVOID Context, + PVOID Arg1, + PVOID Arg2) +{ + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + + /* queue call to turn off motor */ + IoAllocateController (Controller, + ControllerExtension->Device, + FloppyExecuteSpindown, + ControllerExtension); } -VOID STDCALL -FloppySeekDpc(PKDPC Dpc, - PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context) -{ - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)DeviceObject->DeviceExtension; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)DeviceExtension->Controller->ControllerExtension; - // if the seek failed, fail the IRP - if( ControllerExtension->St0 & FLOPPY_ST0_GDMASK ) +VOID STDCALL +FloppyMotorSpinupDpc (PKDPC Dpc, + PVOID Context, + PVOID Arg1, + PVOID Arg2) +{ + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + PFLOPPY_DEVICE_EXTENSION DeviceExtension; + LARGE_INTEGER Timeout; + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; + Timeout.QuadPart = FLOPPY_MOTOR_SPINDOWN_TIME; + + // Motor has had time to spin up, mark motor as spun up and restart IRP + // don't forget to set the spindown timer + KeSetTimer (&ControllerExtension->SpinupTimer, + Timeout, + &ControllerExtension->MotorSpindownDpc); + DPRINT ("Motor spun up, retrying operation\n"); + + ControllerExtension->MotorOn = DeviceExtension->DriveSelect; + + IoFreeController (Controller); + IoAllocateController (Controller, + ControllerExtension->Device, + FloppyExecuteReadWrite, + ControllerExtension->Irp); +} + + +VOID STDCALL +FloppySeekDpc (PKDPC Dpc, + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context) +{ + PFLOPPY_DEVICE_EXTENSION DeviceExtension; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)DeviceExtension->Controller->ControllerExtension; + + /* If the seek failed, fail the IRP */ + if (ControllerExtension->St0 & FLOPPY_ST0_GDMASK) { ControllerExtension->Irp->IoStatus.Status = STATUS_DISK_CORRUPT_ERROR; ControllerExtension->Irp->IoStatus.Information = 0; - DPRINT( "Failing IRP: St0 = %2x, St1 = %2x, St2 = %2x\n", + DPRINT ("Failing IRP: St0 = %2x, St1 = %2x, St2 = %2x\n", ControllerExtension->St0, ControllerExtension->St1, - ControllerExtension->St2 ); - for(;;); - IoCompleteRequest( ControllerExtension->Irp, 0 ); - IoFreeController( DeviceExtension->Controller ); + ControllerExtension->St2); + for (;;); + IoCompleteRequest (ControllerExtension->Irp, + IO_NO_INCREMENT); + IoFreeController (DeviceExtension->Controller); return; } - KeStallExecutionProcessor( 10000 ); - DPRINT( "Seek completed, now on cyl %2x\n", DeviceExtension->Cyl ); - // now that we are on the right cyl, restart the read - if( FloppyExecuteReadWrite( DeviceObject, + + KeStallExecutionProcessor (10000); + + DPRINT ("Seek completed, now on cyl %2x\n", DeviceExtension->Cyl); + + /* Now that we are on the right cyl, restart the read */ + if (FloppyExecuteReadWrite (DeviceObject, ControllerExtension->Irp, ControllerExtension->MapRegisterBase, - ControllerExtension->Irp ) == DeallocateObject ) - IoFreeController( DeviceExtension->Controller ); + ControllerExtension->Irp) == DeallocateObject) + { + IoFreeController (DeviceExtension->Controller); + } } + VOID STDCALL -FloppyDpcReadWrite(PKDPC Dpc, - PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context) +FloppyDpcReadWrite (PKDPC Dpc, + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context) { - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; - DWORD SectorSize = 128 << ControllerExtension->SectorSizeCode; - PIO_STACK_LOCATION Stk = IoGetCurrentIrpStackLocation( ControllerExtension->Irp ); - BOOLEAN WriteToDevice = Stk->MajorFunction == IRP_MJ_WRITE ? TRUE : FALSE; + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + PFLOPPY_DEVICE_EXTENSION DeviceExtension; + ULONG SectorSize; + PIO_STACK_LOCATION Stack; + BOOLEAN WriteToDevice; + + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; Irp = ControllerExtension->Irp; - // if the IO failed, fail the IRP - if( ControllerExtension->St0 & FLOPPY_ST0_GDMASK ) + + Stack = IoGetCurrentIrpStackLocation (Irp); + + SectorSize = 128 << ControllerExtension->SectorSizeCode; + + WriteToDevice = Stack->MajorFunction == IRP_MJ_WRITE ? TRUE : FALSE; + + /* If the IO failed, fail the IRP */ + if (ControllerExtension->St0 & FLOPPY_ST0_GDMASK) { Irp->IoStatus.Status = STATUS_DISK_CORRUPT_ERROR; Irp->IoStatus.Information = 0; @@ -147,71 +193,86 @@ FloppyDpcReadWrite(PKDPC Dpc, ControllerExtension->St1, ControllerExtension->St2 ); for(;;); - IoCompleteRequest( Irp, 0 ); - IoFreeController( Controller ); + IoCompleteRequest (Irp, + IO_NO_INCREMENT); + IoFreeController (Controller); return; } - // don't forget to flush the buffers + + /* Don't forget to flush the buffers */ IoFlushAdapterBuffers( ControllerExtension->AdapterObject, ControllerExtension->Irp->MdlAddress, ControllerExtension->MapRegisterBase, ControllerExtension->Irp->Tail.Overlay.DriverContext[0], ControllerExtension->TransferLength, - WriteToDevice ); - DPRINT( "St0 = %2x, St1 %2x, St2 = %2x\n", + WriteToDevice); + DPRINT ("St0 = %2x St1 = %2x St2 = %2x\n", ControllerExtension->St0, ControllerExtension->St1, - ControllerExtension->St2 ); - // update buffer info - Stk->Parameters.Read.ByteOffset.u.LowPart += ControllerExtension->TransferLength; - Stk->Parameters.Read.Length -= ControllerExtension->TransferLength; - // drivercontext used for current va - (DWORD)ControllerExtension->Irp->Tail.Overlay.DriverContext[0] += ControllerExtension->TransferLength; - - DPRINT( "First dword: %x\n", *((DWORD *)ControllerExtension->MapRegisterBase) ) + ControllerExtension->St2); - // if there is more IO to be done, restart execute routine to issue next read - if( Stk->Parameters.Read.Length ) + /* Update buffer info */ + Stack->Parameters.Read.ByteOffset.u.LowPart += ControllerExtension->TransferLength; + Stack->Parameters.Read.Length -= ControllerExtension->TransferLength; + + /* drivercontext used for current va */ + (ULONG)ControllerExtension->Irp->Tail.Overlay.DriverContext[0] += ControllerExtension->TransferLength; + DPRINT ("First ulong: %x\n", *((PULONG)ControllerExtension->MapRegisterBase)) + + /* If there is more IO to be done, restart execute routine to issue next read */ + if (Stack->Parameters.Read.Length != 0) { - if( FloppyExecuteReadWrite( DeviceObject, + if (FloppyExecuteReadWrite (DeviceObject, Irp, ControllerExtension->MapRegisterBase, - Irp ) == DeallocateObject ) - IoFreeController( Controller ); + Irp ) == DeallocateObject) + { + IoFreeController (Controller); + } + } + else + { + /* Otherwise, complete the IRP */ + IoCompleteRequest (Irp, + IO_NO_INCREMENT); + IoFreeController (Controller); } - else { - IoFreeController( Controller ); - // otherwise, complete the Irp - IoCompleteRequest( Irp, 0 ); - } } + VOID STDCALL -FloppyDpcDetectMedia(PKDPC Dpc, - PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context) +FloppyDpcDetectMedia (PKDPC Dpc, + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context) { - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)Context; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - // If the read ID failed, fail the irp - if( ControllerExtension->St1 != 0 ) + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + Controller = (PCONTROLLER_OBJECT)Context; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; + + /* If the read ID failed, fail the IRP */ + if (ControllerExtension->St1 != 0) { - DPRINT1( "Read ID failed: ST1 = %2x\n", ControllerExtension->St1 ); - IoFreeController( Controller ); + DPRINT1 ("Read ID failed: ST1 = %2x\n", ControllerExtension->St1); + IoFreeController (Controller); Irp->IoStatus.Information = 0; Irp->IoStatus.Status = STATUS_DEVICE_NOT_READY; - IoCompleteRequest( Irp, 0 ); + IoCompleteRequest (Irp, + IO_NO_INCREMENT); return; } - // set media type, and restart the IRP from the beginning - ((PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension)->MediaType = 0; - DPRINT( "Media detected, restarting IRP\n" ); - // don't forget to free the controller so that the now queued routine may execute - IoFreeController( Controller ); - IoAllocateController( Controller, + /* Set media type, and restart the IRP from the beginning */ + ((PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension)->MediaType = 0; + DPRINT ("Media detected, restarting IRP\n"); + + /* Don't forget to free the controller so that the now queued routine may execute */ + IoFreeController (Controller); + + IoAllocateController (Controller, DeviceObject, FloppyExecuteReadWrite, - Irp ); + Irp); } diff --git a/reactos/drivers/dd/floppy/floppy.c b/reactos/drivers/dd/floppy/floppy.c index b6b5f45ce6a..9eba0daca8a 100644 --- a/reactos/drivers/dd/floppy/floppy.c +++ b/reactos/drivers/dd/floppy/floppy.c @@ -42,10 +42,10 @@ FloppyCreateController(PDRIVER_OBJECT DriverObject, UNICODE_STRING DeviceName; NTSTATUS Status; PDEVICE_OBJECT DeviceObject; - PCONFIGURATION_INFORMATION ConfigInfo; +// PCONFIGURATION_INFORMATION ConfigInfo; LARGE_INTEGER Timeout; - BYTE Byte; - int c; +// BYTE Byte; +// int c; PCONFIGURATION_INFORMATION Config; DEVICE_DESCRIPTION DeviceDescription; ULONG MaxMapRegs; @@ -431,109 +431,138 @@ FloppyExecuteReadWrite(PDEVICE_OBJECT DeviceObject, return KeepObject; } -NTSTATUS STDCALL -FloppyDispatchOpenClose(PDEVICE_OBJECT DeviceObject, - PIRP Irp) -{ - DPRINT("FloppyDispatchOpenClose\n"); - return STATUS_SUCCESS; -} NTSTATUS STDCALL -FloppyDispatchReadWrite(PDEVICE_OBJECT DeviceObject, - PIRP Irp) +FloppyDispatchOpenClose (PDEVICE_OBJECT DeviceObject, + PIRP Irp) { - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)DeviceObject->DeviceExtension; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)DeviceExtension->Controller->ControllerExtension; - PIO_STACK_LOCATION Stk = IoGetCurrentIrpStackLocation( Irp ); + DPRINT ("FloppyDispatchOpenClose\n"); + return STATUS_SUCCESS; +} + + +NTSTATUS STDCALL +FloppyDispatchReadWrite (PDEVICE_OBJECT DeviceObject, + PIRP Irp) +{ + PFLOPPY_DEVICE_EXTENSION DeviceExtension; + PIO_STACK_LOCATION Stack; KIRQL oldlvl; - - if( Stk->Parameters.Read.ByteOffset.u.HighPart ) + + DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + Stack = IoGetCurrentIrpStackLocation (Irp); + + if (Stack->Parameters.Read.ByteOffset.u.HighPart) { Irp->IoStatus.Status = STATUS_INVALID_PARAMETER; Irp->IoStatus.Information = 0; - IoCompleteRequest( Irp, 1 ); + IoCompleteRequest (Irp, 1); return STATUS_INVALID_PARAMETER; } - // store currentva in drivercontext - Irp->Tail.Overlay.DriverContext[0] = MmGetMdlVirtualAddress( Irp->MdlAddress ); - DPRINT( "FloppyDispatchReadWrite: offset = %x, length = %x, va = %x\n", - Stk->Parameters.Read.ByteOffset.u.LowPart, - Stk->Parameters.Read.Length, - Irp->Tail.Overlay.DriverContext[0] ); - // Queue IRP + + /* Store currentva in drivercontext */ + Irp->Tail.Overlay.DriverContext[0] = MmGetMdlVirtualAddress (Irp->MdlAddress); + DPRINT ("FloppyDispatchReadWrite: offset = %x, length = %x, va = %x\n", + Stack->Parameters.Read.ByteOffset.u.LowPart, + Stack->Parameters.Read.Length, + Irp->Tail.Overlay.DriverContext[0]); + + /* Queue IRP */ Irp->IoStatus.Status = STATUS_SUCCESS; - Irp->IoStatus.Information = Stk->Parameters.Read.Length; - IoMarkIrpPending( Irp ); - KeRaiseIrql( DISPATCH_LEVEL, &oldlvl ); - IoAllocateController( ((PFLOPPY_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Controller, + Irp->IoStatus.Information = Stack->Parameters.Read.Length; + IoMarkIrpPending (Irp); + + KeRaiseIrql (DISPATCH_LEVEL, + &oldlvl); + IoAllocateController (DeviceExtension->Controller, DeviceObject, FloppyExecuteReadWrite, - Irp ); - KeLowerIrql( oldlvl ); + Irp); + KeLowerIrql (oldlvl); + DPRINT( "oldlvl = %x\n", oldlvl ); + return STATUS_PENDING; } -IO_ALLOCATION_ACTION STDCALL -FloppyAdapterControl(PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID MapRegisterBase, - PVOID Context) -{ - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Context; - // just set the event, and return KeepObject +IO_ALLOCATION_ACTION STDCALL +FloppyAdapterControl (PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID MapRegisterBase, + PVOID Context) +{ + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Context; CHECKPOINT; + + /* Just set the event, and return KeepObject */ ControllerExtension->MapRegisterBase = MapRegisterBase; - KeSetEvent( &ControllerExtension->Event, 0, FALSE ); + KeSetEvent (&ControllerExtension->Event, + 0, + FALSE); + return KeepObject; } + NTSTATUS STDCALL -FloppyDispatchDeviceControl(PDEVICE_OBJECT DeviceObject, - PIRP Irp) +FloppyDispatchDeviceControl (PDEVICE_OBJECT DeviceObject, + PIRP Irp) { - PIO_STACK_LOCATION IrpStack; - ULONG ControlCode, InputLength, OutputLength; - NTSTATUS Status; + PIO_STACK_LOCATION Stack; + ULONG ControlCode; + ULONG InputLength; + ULONG OutputLength; + NTSTATUS Status; - DPRINT("FloppyDispatchDeviceControl\n"); + DPRINT ("FloppyDispatchDeviceControl\n"); - IrpStack = IoGetCurrentIrpStackLocation(Irp); - ControlCode = IrpStack->Parameters.DeviceIoControl.IoControlCode; - InputLength = IrpStack->Parameters.DeviceIoControl.InputBufferLength; - OutputLength = IrpStack->Parameters.DeviceIoControl.OutputBufferLength; + Stack = IoGetCurrentIrpStackLocation(Irp); + ControlCode = Stack->Parameters.DeviceIoControl.IoControlCode; + InputLength = Stack->Parameters.DeviceIoControl.InputBufferLength; + OutputLength = Stack->Parameters.DeviceIoControl.OutputBufferLength; - switch (ControlCode) - { + switch (ControlCode) + { case IOCTL_DISK_GET_DRIVE_GEOMETRY: - if (OutputLength < sizeof(DISK_GEOMETRY)) - { - Status = STATUS_INVALID_PARAMETER; - } - else - { - PDISK_GEOMETRY Geometry = Irp->AssociatedIrp.SystemBuffer; - // FIXME: read the first sector of the diskette - Geometry->MediaType = F3_1Pt44_512; - Geometry->Cylinders.QuadPart = 80; - Geometry->TracksPerCylinder = 2 * 18; - Geometry->SectorsPerTrack = 18; - Geometry->BytesPerSector = 512; - Status = STATUS_SUCCESS; - Irp->IoStatus.Information = sizeof(DISK_GEOMETRY); - } - break; - default: - Status = STATUS_INVALID_DEVICE_REQUEST; - } - Irp->IoStatus.Status = Status; - IoCompleteRequest(Irp, NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT); - return Status; + if (OutputLength < sizeof(DISK_GEOMETRY)) + { + Status = STATUS_INVALID_PARAMETER; + } + else + { + PDISK_GEOMETRY Geometry = Irp->AssociatedIrp.SystemBuffer; + + // FIXME: read the first sector of the diskette + Geometry->MediaType = F3_1Pt44_512; + Geometry->Cylinders.QuadPart = 80; + Geometry->TracksPerCylinder = 2 * 18; + Geometry->SectorsPerTrack = 18; + Geometry->BytesPerSector = 512; + Status = STATUS_SUCCESS; + Irp->IoStatus.Information = sizeof(DISK_GEOMETRY); + } + break; + + default: + Status = STATUS_INVALID_DEVICE_REQUEST; + Irp->IoStatus.Information = 0; + break; + } + + Irp->IoStatus.Status = Status; + IoCompleteRequest (Irp, + NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT); + + return Status; } -/* ModuleEntry + +/* + * DriverEntry * * DESCRIPTION: * This function initializes the driver, locates and claims @@ -550,31 +579,31 @@ FloppyDispatchDeviceControl(PDEVICE_OBJECT DeviceObject, * key * * RETURNS: - * NTSTATUS + * NTSTATUS */ NTSTATUS STDCALL -DriverEntry(IN PDRIVER_OBJECT DriverObject, - IN PUNICODE_STRING RegistryPath) +DriverEntry (IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPath) { - DPRINT("Floppy driver\n"); - - /* Export other driver entry points... */ - DriverObject->MajorFunction[IRP_MJ_CREATE] = (PDRIVER_DISPATCH)FloppyDispatchOpenClose; - DriverObject->MajorFunction[IRP_MJ_CLOSE] = (PDRIVER_DISPATCH)FloppyDispatchOpenClose; - DriverObject->MajorFunction[IRP_MJ_READ] = (PDRIVER_DISPATCH)FloppyDispatchReadWrite; - DriverObject->MajorFunction[IRP_MJ_WRITE] = (PDRIVER_DISPATCH)FloppyDispatchReadWrite; - DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = - (PDRIVER_DISPATCH)FloppyDispatchDeviceControl; - - /* Try to detect controller and abort if it fails */ - if (!FloppyCreateController(DriverObject, + DPRINT ("Floppy driver\n"); + + /* Export other driver entry points... */ + DriverObject->MajorFunction[IRP_MJ_CREATE] = (PDRIVER_DISPATCH)FloppyDispatchOpenClose; + DriverObject->MajorFunction[IRP_MJ_CLOSE] = (PDRIVER_DISPATCH)FloppyDispatchOpenClose; + DriverObject->MajorFunction[IRP_MJ_READ] = (PDRIVER_DISPATCH)FloppyDispatchReadWrite; + DriverObject->MajorFunction[IRP_MJ_WRITE] = (PDRIVER_DISPATCH)FloppyDispatchReadWrite; + DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = + (PDRIVER_DISPATCH)FloppyDispatchDeviceControl; + + /* Try to detect controller and abort if it fails */ + if (!FloppyCreateController (DriverObject, &ControllerParameters[0], 0)) - { - DPRINT("Could not find floppy controller\n"); - return STATUS_NO_SUCH_DEVICE; - } - + { + DPRINT ("Could not find floppy controller\n"); + return STATUS_NO_SUCH_DEVICE; + } + return STATUS_SUCCESS; } diff --git a/reactos/drivers/dd/floppy/isr.c b/reactos/drivers/dd/floppy/isr.c index 22de14e4c0d..ce2b8eec778 100644 --- a/reactos/drivers/dd/floppy/isr.c +++ b/reactos/drivers/dd/floppy/isr.c @@ -48,7 +48,7 @@ BOOLEAN FloppyIsrUnexpected( PCONTROLLER_OBJECT Controller ) BOOLEAN FloppyIsrDetectMedia( PCONTROLLER_OBJECT Controller ) { PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - BYTE SectorSize; + UCHAR SectorSize; DPRINT("FloppyIsrDetectMedia() called\n"); @@ -128,10 +128,12 @@ BOOLEAN FloppyIsrReadWrite( PCONTROLLER_OBJECT Controller ) { // read result registers from read or write command, and queue dpc to start next operation PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - BYTE Cyl, Head, Sector; - PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; - PIO_STACK_LOCATION Stk = IoGetCurrentIrpStackLocation( ControllerExtension->Irp ); - BOOLEAN WriteToDevice = Stk->MajorFunction == IRP_MJ_WRITE ? TRUE : FALSE; + UCHAR Cyl; + UCHAR Head; + UCHAR Sector; +// PFLOPPY_DEVICE_EXTENSION DeviceExtension = (PFLOPPY_DEVICE_EXTENSION)ControllerExtension->Device->DeviceExtension; +// PIO_STACK_LOCATION Stk = IoGetCurrentIrpStackLocation( ControllerExtension->Irp ); +// BOOLEAN WriteToDevice = Stk->MajorFunction == IRP_MJ_WRITE ? TRUE : FALSE; ControllerExtension->St0 = FloppyReadDATA( ControllerExtension->PortBase ); @@ -147,6 +149,7 @@ BOOLEAN FloppyIsrReadWrite( PCONTROLLER_OBJECT Controller ) Sector = FloppyReadDATA( ControllerExtension->PortBase ); // sector KeStallExecutionProcessor( 100 ); ControllerExtension->SectorSizeCode = FloppyReadDATA( ControllerExtension->PortBase ); + // reprogam for next sector if we are not done reading track /* if( ( ControllerExtension->TransferLength -= ( 128 << ControllerExtension->SectorSizeCode ) ) ) { @@ -176,15 +179,19 @@ BOOLEAN FloppyIsrReadWrite( PCONTROLLER_OBJECT Controller ) return TRUE; } + // actual ISR, passes controll to handler for current state in state machine BOOLEAN STDCALL -FloppyIsr(PKINTERRUPT Interrupt, - PVOID ServiceContext) +FloppyIsr (PKINTERRUPT Interrupt, + PVOID ServiceContext) { - PCONTROLLER_OBJECT Controller = (PCONTROLLER_OBJECT)ServiceContext; - PFLOPPY_CONTROLLER_EXTENSION ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; - BYTE Byte; + PCONTROLLER_OBJECT Controller; + PFLOPPY_CONTROLLER_EXTENSION ControllerExtension; + UCHAR Byte; + + Controller = (PCONTROLLER_OBJECT)ServiceContext; + ControllerExtension = (PFLOPPY_CONTROLLER_EXTENSION)Controller->ControllerExtension; // need to make sure interrupt is for us, and add some delay for the damn FDC // without the delay, even though the thing has interrupted, it's still not ready @@ -200,4 +207,4 @@ FloppyIsr(PKINTERRUPT Interrupt, return ControllerExtension->IsrState( Controller ); } - +/* EOF */ diff --git a/reactos/drivers/storage/atapi/atapi.c b/reactos/drivers/storage/atapi/atapi.c index bb9b73f3893..3b7d4e64f8e 100644 --- a/reactos/drivers/storage/atapi/atapi.c +++ b/reactos/drivers/storage/atapi/atapi.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: atapi.c,v 1.44 2003/08/22 13:50:39 ekohl Exp $ +/* $Id: atapi.c,v 1.45 2003/11/13 14:17:51 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS ATAPI miniport driver @@ -200,22 +200,16 @@ AtapiIdentifyDevice(IN ULONG CommandPort, OUT PIDE_DRIVE_IDENTIFY DrvParms); static BOOLEAN -IDEResetController(IN ULONG CommandPort, - IN ULONG ControlPort); - -static int AtapiPolledRead(IN ULONG CommandPort, IN ULONG ControlPort, - IN BYTE PreComp, - IN BYTE SectorCnt, - IN BYTE SectorNum, - IN BYTE CylinderLow, - IN BYTE CylinderHigh, - IN BYTE DrvHead, - IN BYTE Command, - OUT BYTE *Buffer); - - + IN UCHAR PreComp, + IN UCHAR SectorCnt, + IN UCHAR SectorNum, + IN UCHAR CylinderLow, + IN UCHAR CylinderHigh, + IN UCHAR DrvHead, + IN UCHAR Command, + OUT PUCHAR Buffer); static ULONG AtapiSendAtapiCommand(IN PATAPI_MINIPORT_EXTENSION DeviceExtension, @@ -1170,7 +1164,8 @@ AtapiFindDevices(PATAPI_MINIPORT_EXTENSION DeviceExtension, ULONG ControlPortBase; ULONG UnitNumber; ULONG Retries; - BYTE High, Low; + UCHAR High; + UCHAR Low; DPRINT("AtapiFindDevices() called\n"); @@ -1203,10 +1198,10 @@ AtapiFindDevices(PATAPI_MINIPORT_EXTENSION DeviceExtension, IDEWriteCylinderLow(CommandPortBase, 0); if (Low != 0x55 || High != 0xaa) - { - DPRINT("No Drive found. UnitNumber %d CommandPortBase %x\n", UnitNumber, CommandPortBase); - continue; - } + { + DPRINT("No Drive found. UnitNumber %d CommandPortBase %x\n", UnitNumber, CommandPortBase); + continue; + } IDEWriteCommand(CommandPortBase, IDE_CMD_RESET); @@ -1302,56 +1297,6 @@ AtapiFindDevices(PATAPI_MINIPORT_EXTENSION DeviceExtension, } -// AtapiResetController -// -// DESCRIPTION: -// Reset the controller and report completion status -// -// RUN LEVEL: -// PASSIVE_LEVEL -// -// ARGUMENTS: -// IN WORD CommandPort The address of the command port -// IN WORD ControlPort The address of the control port -// -// RETURNS: -// - -static BOOLEAN -AtapiResetController(IN ULONG CommandPort, - IN ULONG ControlPort) -{ - int Retries; - - /* Assert drive reset line */ - IDEWriteDriveControl(ControlPort, IDE_DC_SRST); - - /* Wait for min. 25 microseconds */ - ScsiPortStallExecution(IDE_RESET_PULSE_LENGTH); - - /* Negate drive reset line */ - IDEWriteDriveControl(ControlPort, 0); - - /* Wait for BUSY negation */ - for (Retries = 0; Retries < IDE_RESET_BUSY_TIMEOUT * 1000; Retries++) - { - if (!(IDEReadStatus(CommandPort) & IDE_SR_BUSY)) - { - break; - } - ScsiPortStallExecution(10); - } - - if (Retries >= IDE_RESET_BUSY_TIMEOUT * 1000) - { - return(FALSE); - } - - // return TRUE if controller came back to life. and - // the registers are initialized correctly - return(IDEReadError(CommandPort) == 1); -} - /* * AtapiIdentifyDevice * @@ -1397,10 +1342,10 @@ AtapiIdentifyDevice(IN ULONG CommandPort, 0, (DriveNum ? IDE_DH_DRV1 : 0), (Atapi ? IDE_CMD_IDENT_ATAPI_DRV : IDE_CMD_IDENT_ATA_DRV), - (BYTE *)DrvParms) != 0) + (PUCHAR)DrvParms) == FALSE) { DPRINT("IDEPolledRead() failed\n"); - return(FALSE); + return FALSE; } /* Report on drive parameters if debug mode */ @@ -1467,7 +1412,7 @@ AtapiIdentifyDevice(IN ULONG CommandPort, } DPRINT("BytesPerSector %d\n", DrvParms->BytesPerSector); - return(TRUE); + return TRUE; } @@ -1480,38 +1425,38 @@ AtapiIdentifyDevice(IN ULONG CommandPort, // PASSIVE_LEVEL // // ARGUMENTS: -// IN WORD Address Address of command port for drive -// IN BYTE PreComp Value to write to precomp register -// IN BYTE SectorCnt Value to write to sectorCnt register -// IN BYTE SectorNum Value to write to sectorNum register -// IN BYTE CylinderLow Value to write to CylinderLow register -// IN BYTE CylinderHigh Value to write to CylinderHigh register -// IN BYTE DrvHead Value to write to Drive/Head register -// IN BYTE Command Value to write to Command register -// OUT BYTE *Buffer Buffer for output data +// IN ULONG CommandPort Address of command port for drive +// IN ULONG ControlPort Address of control port for drive +// IN UCHAR PreComp Value to write to precomp register +// IN UCHAR SectorCnt Value to write to sectorCnt register +// IN UCHAR SectorNum Value to write to sectorNum register +// IN UCHAR CylinderLow Value to write to CylinderLow register +// IN UCHAR CylinderHigh Value to write to CylinderHigh register +// IN UCHAR DrvHead Value to write to Drive/Head register +// IN UCHAR Command Value to write to Command register +// OUT PUCHAR Buffer Buffer for output data // // RETURNS: -// int 0 is success, non 0 is an error code +// BOOLEAN: TRUE success, FALSE error // -static int +static BOOLEAN AtapiPolledRead(IN ULONG CommandPort, IN ULONG ControlPort, - IN BYTE PreComp, - IN BYTE SectorCnt, - IN BYTE SectorNum, - IN BYTE CylinderLow, - IN BYTE CylinderHigh, - IN BYTE DrvHead, - IN BYTE Command, - OUT BYTE *Buffer) + IN UCHAR PreComp, + IN UCHAR SectorCnt, + IN UCHAR SectorNum, + IN UCHAR CylinderLow, + IN UCHAR CylinderHigh, + IN UCHAR DrvHead, + IN UCHAR Command, + OUT PUCHAR Buffer) { ULONG SectorCount = 0; ULONG RetryCount; BOOLEAN Junk = FALSE; UCHAR Status; -//#if 0 /* Wait for BUSY to clear */ for (RetryCount = 0; RetryCount < IDE_MAX_BUSY_RETRIES; RetryCount++) { @@ -1527,9 +1472,8 @@ AtapiPolledRead(IN ULONG CommandPort, if (RetryCount >= IDE_MAX_BUSY_RETRIES) { DPRINT("Drive is BUSY for too long\n"); - return(IDE_ER_ABRT); + return FALSE; } -//#endif /* Write Drive/Head to select drive */ IDEWriteDriveHead(CommandPort, IDE_DH_FIXED | DrvHead); @@ -1552,7 +1496,7 @@ AtapiPolledRead(IN ULONG CommandPort, } if (RetryCount >= IDE_MAX_BUSY_RETRIES) { - return IDE_ER_ABRT; + return FALSE; } #endif @@ -1601,8 +1545,9 @@ AtapiPolledRead(IN ULONG CommandPort, ScsiPortStallExecution(50); IDEReadStatus(CommandPort); - return(IDE_ER_ABRT); + return FALSE; } + if (Status & IDE_SR_DRQ) { break; @@ -1613,7 +1558,7 @@ AtapiPolledRead(IN ULONG CommandPort, ScsiPortStallExecution(50); IDEReadStatus(CommandPort); - return(IDE_ER_ABRT); + return FALSE; } } ScsiPortStallExecution(10); @@ -1626,7 +1571,7 @@ AtapiPolledRead(IN ULONG CommandPort, ScsiPortStallExecution(50); IDEReadStatus(CommandPort); - return(IDE_ER_ABRT); + return FALSE; } while (1) @@ -1656,7 +1601,7 @@ AtapiPolledRead(IN ULONG CommandPort, ScsiPortStallExecution(50); IDEReadStatus(CommandPort); - return(IDE_ER_ABRT); + return FALSE; } if (Status & IDE_SR_DRQ) { @@ -1678,7 +1623,7 @@ AtapiPolledRead(IN ULONG CommandPort, ScsiPortStallExecution(50); IDEReadStatus(CommandPort); - return(0); + return TRUE; } } } @@ -1822,7 +1767,7 @@ AtapiSendAtapiCommand(IN PATAPI_MINIPORT_EXTENSION DeviceExtension, break; } - CdbSize = (DeviceExtension->DeviceParams[Srb->TargetId].ConfigBits & 0x3 == 1) ? 16 : 12; + CdbSize = ((DeviceExtension->DeviceParams[Srb->TargetId].ConfigBits & 0x3) == 1) ? 16 : 12; DPRINT("CdbSize: %lu\n", CdbSize); /* Write command packet */ @@ -2281,7 +2226,7 @@ AtapiFlushCache(PATAPI_MINIPORT_EXTENSION DeviceExtension, /* Wait for controller ready */ for (Retries = 0; Retries < IDE_MAX_WRITE_RETRIES; Retries++) { - BYTE Status = IDEReadStatus(DeviceExtension->CommandPortBase); + Status = IDEReadStatus(DeviceExtension->CommandPortBase); if (!(Status & IDE_SR_BUSY) || (Status & IDE_SR_ERR)) { break; diff --git a/reactos/drivers/storage/atapi/makefile b/reactos/drivers/storage/atapi/makefile index d5428dd12d1..924979b7bc1 100644 --- a/reactos/drivers/storage/atapi/makefile +++ b/reactos/drivers/storage/atapi/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.2 2003/04/05 09:37:43 chorns Exp $ +# $Id: makefile,v 1.3 2003/11/13 14:17:51 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -12,6 +12,8 @@ TARGET_DDKLIBS = scsiport.a TARGET_OBJECTS = $(TARGET_NAME).o +TARGET_CFLAGS = -Werror -Wall + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/storage/cdrom/cdrom.c b/reactos/drivers/storage/cdrom/cdrom.c index 0d64e53cdf4..8306f73f71c 100644 --- a/reactos/drivers/storage/cdrom/cdrom.c +++ b/reactos/drivers/storage/cdrom/cdrom.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: cdrom.c,v 1.25 2003/11/10 18:09:54 ekohl Exp $ +/* $Id: cdrom.c,v 1.26 2003/11/13 14:18:26 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -437,16 +437,15 @@ CdromClassCreateDeviceObject(IN PDRIVER_OBJECT DriverObject, IN PCLASS_INIT_DATA InitializationData) { PDEVICE_EXTENSION DiskDeviceExtension; /* defined in class2.h */ - OBJECT_ATTRIBUTES ObjectAttributes; - UNICODE_STRING UnicodeDeviceDirName; PDEVICE_OBJECT DiskDeviceObject; - SCSI_REQUEST_BLOCK Srb; PCDROM_DATA CdromData; CHAR NameBuffer[80]; - HANDLE Handle; +#if 0 + SCSI_REQUEST_BLOCK Srb; PUCHAR Buffer; ULONG Length; PCDB Cdb; +#endif NTSTATUS Status; DPRINT("CdromClassCreateDeviceObject() called\n"); diff --git a/reactos/drivers/storage/cdrom/makefile b/reactos/drivers/storage/cdrom/makefile index 6801c195857..b902100404a 100644 --- a/reactos/drivers/storage/cdrom/makefile +++ b/reactos/drivers/storage/cdrom/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.2 2003/04/05 09:37:43 chorns Exp $ +# $Id: makefile,v 1.3 2003/11/13 14:18:26 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -12,6 +12,8 @@ TARGET_DDKLIBS = class2.a TARGET_OBJECTS = $(TARGET_NAME).o +TARGET_CFLAGS = -Werror -Wall + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/storage/class2/class2.c b/reactos/drivers/storage/class2/class2.c index 06b57f97f0b..4ab259bf920 100644 --- a/reactos/drivers/storage/class2/class2.c +++ b/reactos/drivers/storage/class2/class2.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: class2.c,v 1.45 2003/11/11 15:31:31 ekohl Exp $ +/* $Id: class2.c,v 1.46 2003/11/13 14:18:53 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -729,7 +729,6 @@ ScsiClassFindUnclaimedDevices(IN PCLASS_INIT_DATA InitializationData, PUCHAR Buffer; ULONG Bus; ULONG UnclaimedDevices = 0; - NTSTATUS Status; DPRINT("ScsiClassFindUnclaimedDevices() called\n"); @@ -1028,7 +1027,6 @@ ScsiClassInterpretSenseInfo(IN PDEVICE_OBJECT DeviceObject, PIO_ERROR_LOG_PACKET LogPacket; #endif PSENSE_DATA SenseData; - NTSTATUS LogStatus; BOOLEAN LogError; BOOLEAN Retry; diff --git a/reactos/drivers/storage/class2/makefile b/reactos/drivers/storage/class2/makefile index 73a34661faf..6f7942bace5 100644 --- a/reactos/drivers/storage/class2/makefile +++ b/reactos/drivers/storage/class2/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.4 2003/04/05 09:37:43 chorns Exp $ +# $Id: makefile,v 1.5 2003/11/13 14:18:53 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -10,6 +10,8 @@ TARGET_NAME = class2 TARGET_OBJECTS = $(TARGET_NAME).o +TARGET_CFLAGS = -Werror -Wall + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/storage/disk/disk.c b/reactos/drivers/storage/disk/disk.c index 68944090618..75ae65001f5 100644 --- a/reactos/drivers/storage/disk/disk.c +++ b/reactos/drivers/storage/disk/disk.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: disk.c,v 1.32 2003/07/23 18:45:08 ekohl Exp $ +/* $Id: disk.c,v 1.33 2003/11/13 14:19:23 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -1714,7 +1714,9 @@ ScsiDiskUpdateFixedDiskGeometry(IN PDEVICE_EXTENSION DeviceExtension) HANDLE BusKey; ULONG DiskNumber; ULONG Length; +#if 0 ULONG i; +#endif ULONG Cylinders; ULONG Sectors; ULONG SectorsPerTrack; diff --git a/reactos/drivers/storage/disk/makefile b/reactos/drivers/storage/disk/makefile index 71a6bd7bfe9..c7e68e7d951 100644 --- a/reactos/drivers/storage/disk/makefile +++ b/reactos/drivers/storage/disk/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.3 2003/04/05 09:37:43 chorns Exp $ +# $Id: makefile,v 1.4 2003/11/13 14:19:23 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -12,6 +12,8 @@ TARGET_DDKLIBS = class2.a TARGET_OBJECTS = $(TARGET_NAME).o +TARGET_CFLAGS = -Werror -Wall + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/storage/scsiport/makefile b/reactos/drivers/storage/scsiport/makefile index 3f86560cc82..ef51fa06089 100644 --- a/reactos/drivers/storage/scsiport/makefile +++ b/reactos/drivers/storage/scsiport/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.5 2003/04/05 09:37:44 chorns Exp $ +# $Id: makefile,v 1.6 2003/11/13 14:20:03 ekohl Exp $ PATH_TO_TOP = ../../.. @@ -10,6 +10,8 @@ TARGET_NAME = scsiport TARGET_OBJECTS = $(TARGET_NAME).o +TARGET_CFLAGS = -Werror -Wall + include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk diff --git a/reactos/drivers/storage/scsiport/scsiport.c b/reactos/drivers/storage/scsiport/scsiport.c index ffb0bab60fa..4cb9b17eff9 100644 --- a/reactos/drivers/storage/scsiport/scsiport.c +++ b/reactos/drivers/storage/scsiport/scsiport.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: scsiport.c,v 1.43 2003/11/01 10:42:32 hbirr Exp $ +/* $Id: scsiport.c,v 1.44 2003/11/13 14:20:03 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -73,12 +73,6 @@ static VOID STDCALL ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp); -static IO_ALLOCATION_ACTION STDCALL -ScsiPortAllocateController(IN PDEVICE_OBJECT DeviceObject, - IN PIRP Irp, - IN PVOID MapRegisterBase, - IN PVOID Context); - static BOOLEAN STDCALL ScsiPortStartPacket(IN OUT PVOID Context); @@ -127,6 +121,9 @@ static PSCSI_REQUEST_BLOCK ScsiPortInitSenseRequestSrb(PSCSI_PORT_DEVICE_EXTENSION DeviceExtension, PSCSI_REQUEST_BLOCK OriginalSrb); +static VOID +ScsiPortFreeSenseRequestSrb(PSCSI_PORT_DEVICE_EXTENSION DeviceExtension); + static NTSTATUS SpiBuildDeviceMap (PSCSI_PORT_DEVICE_EXTENSION DeviceExtension, PUNICODE_STRING RegistryPath); @@ -471,6 +468,7 @@ ScsiPortGetSrb(IN PVOID DeviceExtension, { DPRINT1("ScsiPortGetSrb()\n"); UNIMPLEMENTED; + return NULL; } @@ -610,7 +608,7 @@ ScsiPortInitialize(IN PVOID Argument1, IN PVOID HwContext) { PDRIVER_OBJECT DriverObject = (PDRIVER_OBJECT)Argument1; - PUNICODE_STRING RegistryPath = (PUNICODE_STRING)Argument2; +// PUNICODE_STRING RegistryPath = (PUNICODE_STRING)Argument2; PSCSI_PORT_DEVICE_EXTENSION DeviceExtension; PCONFIGURATION_INFORMATION SystemConfig; PPORT_CONFIGURATION_INFORMATION PortConfig; @@ -1544,7 +1542,6 @@ ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, PIO_STACK_LOCATION IrpStack; PSCSI_REQUEST_BLOCK Srb; KIRQL oldIrql; - BOOLEAN Result; DPRINT("ScsiPortStartIo() called!\n"); @@ -1563,16 +1560,16 @@ ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, IoCompleteRequest (Irp, IO_NO_INCREMENT); if (oldIrql < DISPATCH_LEVEL) - { - KeRaiseIrql (DISPATCH_LEVEL, - &oldIrql); - IoStartNextPacket (DeviceObject, - FALSE); - KeLowerIrql(oldIrql); + { + KeRaiseIrql (DISPATCH_LEVEL, + &oldIrql); + IoStartNextPacket (DeviceObject, + FALSE); + KeLowerIrql (oldIrql); } else - { - IoStartNextPacket (DeviceObject, + { + IoStartNextPacket (DeviceObject, FALSE); } return; @@ -1592,16 +1589,16 @@ ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, IoCompleteRequest (Irp, IO_NO_INCREMENT); if (oldIrql < DISPATCH_LEVEL) - { - KeRaiseIrql (DISPATCH_LEVEL, - &oldIrql); - IoStartNextPacket (DeviceObject, - FALSE); - KeLowerIrql(oldIrql); + { + KeRaiseIrql (DISPATCH_LEVEL, + &oldIrql); + IoStartNextPacket (DeviceObject, + FALSE); + KeLowerIrql (oldIrql); } else - { - IoStartNextPacket (DeviceObject, + { + IoStartNextPacket (DeviceObject, FALSE); } return; @@ -1644,16 +1641,16 @@ ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, IoCompleteRequest(Irp, IO_NO_INCREMENT); if (oldIrql < DISPATCH_LEVEL) - { - KeRaiseIrql (DISPATCH_LEVEL, - &oldIrql); - IoStartNextPacket (DeviceObject, - FALSE); - KeLowerIrql(oldIrql); + { + KeRaiseIrql (DISPATCH_LEVEL, + &oldIrql); + IoStartNextPacket (DeviceObject, + FALSE); + KeLowerIrql (oldIrql); } else - { - IoStartNextPacket (DeviceObject, + { + IoStartNextPacket (DeviceObject, FALSE); } } @@ -1866,7 +1863,6 @@ SpiScanAdapter (IN PSCSI_PORT_DEVICE_EXTENSION DeviceExtension) ULONG Bus; ULONG Target; ULONG Lun; - BOOLEAN Result; NTSTATUS Status; DPRINT ("SpiScanAdapter() called\n"); @@ -2093,7 +2089,7 @@ ScsiPortDpcForIsr(IN PKDPC Dpc, RtlZeroMemory(&DeviceExtension->InternalSenseData, sizeof(SENSE_DATA)); IrpStack->Parameters.Scsi.Srb = DeviceExtension->OriginalSrb; - DeviceExtension->OriginalSrb = NULL; + ScsiPortFreeSenseRequestSrb (DeviceExtension); } else if ((SRB_STATUS(Srb->SrbStatus) != SRB_STATUS_SUCCESS) && (Srb->ScsiStatus == SCSISTAT_CHECK_CONDITION))