Re: [PATCH] I2O support on alpha.

Alan Cox (alan@lxorguk.ukuu.org.uk)
03 Jun 2002 16:29:06 +0100


On Mon, 2002-06-03 at 10:23, Pierrick Hascoet wrote:
> msg[0] = (FIVE_WORD_MSG_SIZE|SGL_OFFSET_0);
> msg[1] = I2O_CMD_BLOCK_CFLUSH<<24|HOST_TID<<12|dev->tid;
> msg[2] = i2ob_context|0x40000000;
> - msg[3] = (u32)query_done;
> + msg[3] = (unsigned long)query_done;

query_done is a 64bit value, msg[3] is 32bit. On your box it happens
that the query_done value fits into 32 bits. Really the pointer needs
replacing with something saner. I have some ideas. One would be to add

val = i2o_query_alloc(address);
i2o_query_done(val);
i2o_query_free(val);

functionality that tracked the pointers in a seperate array

Similar problems in the fp->private_data casting too. That wants pushing
into an array of some sort. I'll apply the header changes and other
fixes and think about the harder ones

-
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/