The dpt_i2o driver uses the function memcpy_toio to copy the message
frame to the adapter. Under arch/x86_64/lib/io.c, it's helper function
is defined as:

void __memcpy_toio(unsigned long dst,const void*src,unsigned len)
{
        __inline_memcpy((void *) dst,src,len);
}

The first argument should be 'volatile void __iomem * dst' I would have
expected. As such, the 64 bit virtual address representing the adapter
address passed in gets truncated (please correct me if I am wrong).

The writel and readl function do not have any similar problems.

Sincerely -- Mark Salyzyn
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to