On 2003.02.06 Samuel Flory wrote:
> Andrea Arcangeli wrote:
>
> >On Wed, Feb 05, 2003 at 03:12:03PM -0800, Samuel Flory wrote:
> >
> >
> >>Is the dac960 compile still broken? Or did it break again?
> >>
> >>make[3]: Entering directory `/stuff/src/linux-2.4.21-pre4-aa1/drivers/block'
> >>gcc -D__KERNEL__ -I/stuff/src/linux-2.4.21-pre4-aa1/include -Wall
> >>-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> >>-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686
> >>-nostdinc -iwithprefix include -DKBUILD_BASENAME=DAC960 -DEXPORT_SYMTAB
> >>-c DAC960.c
> >>DAC960.c: In function `DAC960_ProcessCompletedBuffer':
> >>DAC960.c:3029: warning: passing arg 1 of `blk_finished_io' makes pointer
> >>from integer without a cast
> >>DAC960.c:3029: too few arguments to function `blk_finished_io'
> >>make[3]: *** [DAC960.o] Error 1
> >>make[3]: Leaving directory `/stuff/src/linux-2.4.21-pre4-aa1/drivers/block'
> >>make[2]: *** [first_rule] Error 2
> >>make[2]: Leaving directory `/stuff/src/linux-2.4.21-pre4-aa1/drivers/block'
> >>make[1]: *** [_subdir_block] Error 2
> >>make[1]: Leaving directory `/stuff/src/linux-2.4.21-pre4-aa1/drivers'
> >>make: *** [_dir_drivers] Error 2
> >>
> >>
> >
> >It was supposed to be fixed I need to re-check.. (I usually don't
> >compile it so I didn't notice sorry)
> >
> >
>
I still have this in -jam, grabbed from the list:
diff -ur linux-2.4.20_original/drivers/block/DAC960.c linux-2.4.20aa1/drivers/block/DAC960.c
--- linux-2.4.20_original/drivers/block/DAC960.c Wed Dec 4 16:52:50 2002
+++ linux-2.4.20aa1/drivers/block/DAC960.c Wed Dec 4 16:56:15 2002
@@ -19,8 +19,8 @@
*/
-#define DAC960_DriverVersion "2.4.11"
-#define DAC960_DriverDate "11 October 2001"
+#define DAC960_DriverVersion "2.4.20"
+#define DAC960_DriverDate "2003"
#include <linux/version.h>
@@ -2975,8 +2975,9 @@
Command->SegmentCount = Request->nr_segments;
Command->BufferHeader = Request->bh;
Command->RequestBuffer = Request->buffer;
+ Command->Request = Request;
blkdev_dequeue_request(Request);
- blkdev_release_request(Request);
+ /* blkdev_release_request(Request); */
DAC960_QueueReadWriteCommand(Command);
return true;
}
@@ -3023,11 +3024,12 @@
individual Buffer.
*/
-static inline void DAC960_ProcessCompletedBuffer(BufferHeader_T *BufferHeader,
+static inline void DAC960_ProcessCompletedBuffer(IO_Request_T *Req, BufferHeader_T *BufferHeader,
boolean SuccessfulIO)
{
- blk_finished_io(BufferHeader->b_size >> 9);
+ blk_finished_io(Req, BufferHeader->b_size >> 9);
BufferHeader->b_end_io(BufferHeader, SuccessfulIO);
+
}
@@ -3116,9 +3118,10 @@
{
BufferHeader_T *NextBufferHeader = BufferHeader->b_reqnext;
BufferHeader->b_reqnext = NULL;
- DAC960_ProcessCompletedBuffer(BufferHeader, true);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, true);
BufferHeader = NextBufferHeader;
}
+ blkdev_release_request(Command->Request);
if (Command->Completion != NULL)
{
complete(Command->Completion);
@@ -3161,7 +3164,7 @@
{
BufferHeader_T *NextBufferHeader = BufferHeader->b_reqnext;
BufferHeader->b_reqnext = NULL;
- DAC960_ProcessCompletedBuffer(BufferHeader, false);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, false);
BufferHeader = NextBufferHeader;
}
if (Command->Completion != NULL)
@@ -3169,6 +3172,7 @@
complete(Command->Completion);
Command->Completion = NULL;
}
+ blkdev_release_request(Command->Request);
}
}
else if (CommandType == DAC960_ReadRetryCommand ||
@@ -3180,12 +3184,12 @@
Perform completion processing for this single buffer.
*/
if (CommandStatus == DAC960_V1_NormalCompletion)
- DAC960_ProcessCompletedBuffer(BufferHeader, true);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, true);
else
{
if (CommandStatus != DAC960_V1_LogicalDriveNonexistentOrOffline)
DAC960_V1_ReadWriteError(Command);
- DAC960_ProcessCompletedBuffer(BufferHeader, false);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, false);
}
if (NextBufferHeader != NULL)
{
@@ -3203,6 +3207,7 @@
DAC960_QueueCommand(Command);
return;
}
+ blkdev_release_request(Command->Request);
}
else if (CommandType == DAC960_MonitoringCommand ||
CommandOpcode == DAC960_V1_Enquiry ||
@@ -4222,9 +4227,10 @@
{
BufferHeader_T *NextBufferHeader = BufferHeader->b_reqnext;
BufferHeader->b_reqnext = NULL;
- DAC960_ProcessCompletedBuffer(BufferHeader, true);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, true);
BufferHeader = NextBufferHeader;
}
+ blkdev_release_request(Command->Request);
if (Command->Completion != NULL)
{
complete(Command->Completion);
@@ -4267,9 +4273,10 @@
{
BufferHeader_T *NextBufferHeader = BufferHeader->b_reqnext;
BufferHeader->b_reqnext = NULL;
- DAC960_ProcessCompletedBuffer(BufferHeader, false);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, false);
BufferHeader = NextBufferHeader;
}
+ blkdev_release_request(Command->Request);
if (Command->Completion != NULL)
{
complete(Command->Completion);
@@ -4286,12 +4293,12 @@
Perform completion processing for this single buffer.
*/
if (CommandStatus == DAC960_V2_NormalCompletion)
- DAC960_ProcessCompletedBuffer(BufferHeader, true);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, true);
else
{
if (Command->V2.RequestSense.SenseKey != DAC960_SenseKey_NotReady)
DAC960_V2_ReadWriteError(Command);
- DAC960_ProcessCompletedBuffer(BufferHeader, false);
+ DAC960_ProcessCompletedBuffer(Command->Request, BufferHeader, false);
}
if (NextBufferHeader != NULL)
{
@@ -4319,6 +4326,7 @@
DAC960_QueueCommand(Command);
return;
}
+ blkdev_release_request(Command->Request);
}
else if (CommandType == DAC960_MonitoringCommand)
{
diff -ur linux-2.4.20_original/drivers/block/DAC960.h linux-2.4.20aa1/drivers/block/DAC960.h
--- linux-2.4.20_original/drivers/block/DAC960.h Wed Dec 4 16:52:50 2002
+++ linux-2.4.20aa1/drivers/block/DAC960.h Wed Dec 4 16:53:13 2002
@@ -2282,6 +2282,7 @@
unsigned int SegmentCount;
BufferHeader_T *BufferHeader;
void *RequestBuffer;
+ IO_Request_T *Request;
union {
struct {
DAC960_V1_CommandMailbox_T CommandMailbox;
@@ -4265,12 +4266,4 @@
static void DAC960_CreateProcEntries(void);
static void DAC960_DestroyProcEntries(void);
-
-/*
- Export the Kernel Mode IOCTL interface.
-*/
-
-EXPORT_SYMBOL(DAC960_KernelIOCTL);
-
-
#endif /* DAC960_DriverVersion */
-- J.A. Magallon <jamagallon@able.es> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.21-pre4-jam1 (gcc 3.2.1 (Mandrake Linux 9.1 3.2.1-5mdk)) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Feb 07 2003 - 22:00:19 EST