Messages in this thread | | | Subject | Re: [PATCH] I2O support on alpha. | From | Alan Cox <> | Date | 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/
| |