Markus, the new I2O stuff mostly looks nice. I found a few bits that
seem wrong and some of my old cleanup bits still needed
The attached patch files - Fix misformed error messages in i2o_block
- Add recieve_to_virt and send_to_virt to clean up remaining
virt_to_* usage. (I've tweaked them to reflect the i2o_dma
objects) so hopefully I got it right
- Post an 8 byte startup message area. Some Promises scribble on the
wrong dword. Also catch this
- Fix several cases where messages got written to I/O space without
i2o_raw_writel
- Fix a case where we skipped dpt controllers on quiesce and didnt
skip them on enable
- Add some bits to try and get promise behaving again
- Cleaned up the probe loop
- Removed the remainder of i2o_retry and used the trick I was using
in my test code from back whenever- on congestion report BUS_BUSY
and leave it to the scsi layer
Looking at the code the event stuff seems totally broken in the new code
both in core and the commented out i2o_block code (which now leaks
memory). Also i2o_scsi error path does a readl on msg->body[3] which is
wrong as msg->body[3] is in kernel space and its contents are an I2O
side message value so should get fed to i2o_send_to_virt().
Other question is message size - right now it uses the 2.4 message size
which is twice what all the vendors recommend as working best (and
doesn't work at all on AMI)